FC2ブログ
    05 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.» 07

    ハルシオンシステムの気ままBlog

    株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

     

    【ハルシオンブログ】UnityでGradleとProGuardを使ったビルドをしないといけなかった。 

    こんにちは。
    大坂です。

    さて、今日もあんまりネタがないのですが。
    タイトルの通りUnityでGradleとProguardを使用してビルドした話。

    設定はこの辺をいじればGradleとProguardを使用したビルドになりますね。
    使用しているのは「Unity2017.3.0f3」です。




    設定すると自動でファイルが作られます。


    この方法でビルドしたことがなかったので、色々エラーが出てビルド通すのも大変でしたが、
    この辺使い慣れてる人は楽なんですかね?

    メモがてらにエラーの対処方法
    「Warning:」で止まる場合。
    こんなやつね。

    Warning: okio.DeflaterSink: can't find referenced class org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
    Warning: okio.Okio: can't find referenced class org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement


    調べると警告だからProguardのファイルに「-dontwarn」で指定して無視しろっていうのがよく出てきます。
    本当に無視だけでいいのかは謎なところもありますが、こんな感じで指定すると「Warning」も消えてきます。

    -dontwarn okio.**


    あとは既存プロジェクトでこの方法にしたので色々ライブラリが入っていて、Duplicate系のエラーも出ましたが、
    この辺はエラーを見て被ってるのを削除すれば対応できました。

    で、何とかビルドだけ通すと今度はAdmobがでねぇぇぇぇ!とかって嵌ります(ぇ
    調べると難読化しないようにしようねってちゃんと書いてありました。
    https://developers.google.com/mobile-ads-sdk/kb/?hl=ja#proguard

    Unityでやってると?こんな実機のログにこんなエラーも出るので

    AndroidJavaException: java.lang.ClassNotFoundException: com.google.unity.ads.UnityAdListener


    追加でこの指定もしました。

    -keep class com.google.unity.** {
    public *;
    }


    あとはアドフリくんの動画なんかも使ってましたが、マニュアルを見るとそれぞれの会社の設定のところとかで、
    Proguardの設定について書かれているので、設定を追加したら無事動画が再生されました。

    やったことない方法でビルドするといろいろ嵌るよね!っていう話とメモでした
    ではまたノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0