既存のアンドロイドアプリで-dontobfuscateオプションを1つのReact Native画面で使用すると、リリースビルドが正常に動作します。難解なネイティブの難読化機能を備えたAndroid App用のProguardの設定
:は、しかし、私は私の既存のアプリを難読化し、(https://github.com/facebook/react-native/issues/7530それがあたりとしてはサポートされていないので)のみ反応し、ネイティブの難読化を無視したい(私はまた、設定https://github.com/facebook/react-native/blob/master/local-cli/generator-android/templates/src/app/proguard-rules.proからプロガードのネイティブな構成を反応させるために持っていました)
-dontobfuscateをコメントアウトした後、私はこれらのエラーを得た:
Warning: com.facebook.react.views.recyclerview.NotAnimatedItemAnimator: can't find referenced method 'void dispatchRemoveStarting(android.support.v7.widget.RecyclerView$ViewHolder)' in program class com.facebook.react.views.recyclerview.NotAnimatedItemAnimator
Warning: com.facebook.react.views.recyclerview.NotAnimatedItemAnimator: can't find referenced method 'void dispatchRemoveFinished(android.support.v7.widget.RecyclerView$ViewHolder)' in program class com.facebook.react.views.recyclerview.NotAnimatedItemAnimator
...
は、私は構成の下にしようと、それらのどれも動作しません。 assembleReleaseのproguardフェーズ中に警告を出したり、一度構築したりすると、反応したネイティブスクリーンの最初の起動時に例外がスローされます。
まずコンフィグ試してみてください。
-keepクラスcom.facebook.react ** {公共の保護されたプライベート*; }
第二Configを試してみてください。。
-dontwarn android.support.v7 **
-keepクラスandroid.support.v7 ** {*; }
-keep interface android.support.v7。** {*; }
第三に設定してみます。
-keepクラスandroid.support.v7.internal ** {*; }
-keep interface android.support.v7.internal。** {*; }
第四に設定してみてください。
サポート-V7
-dontwarn android.support.v7 **
-keepクラスandroid.support.v7.internal ** {*。。 ; }
-keep interface android.support.v7.internal。** {*; }
-keep class android.support.v7。** {**; }のような
例外:
Caused by: java.lang.IllegalAccessError: Method 'void android.support.v4.net.ConnectivityManagerCompat.<init>()' is inaccessible to class 'com.facebook.react.modules.netinfo.NetInfoModule' (declaration of 'com.facebook.react.modules.netinfo.NetInfoModule' appears in /data/app/com.sampleapp-1/base.apk)
at com.facebook.react.modules.netinfo.NetInfoModule.<init>(NetInfoModule.java:55)
反応し、ネイティブでリリースAPK(既存のAndroidアプリを)作業をお持ちの方は、あなたのProGuardの設定を共有してくださいすることができますか?
android.supportライブラリには、すでにproguardルールがaarファイルに含まれています。 ライブラリを追加すると、自動的にプロジェクトに追加されます。 http://tools.android.com/tech-docs/new-build-system/aar-format – ajack
ありがとう@ジャック。 Incase、私はAndroid V7/V4サポートライブラリのためのproguardエントリーを含んでいません、私は異なるエラーを取得します。私は私が得るエラーで質問を更新しました。 – bschandramohan