Androidサポートデザインライブラリ(バージョン23.0.1)およびクラスNavigationMenu
(私はこのクラスをレイアウトへのXMLタグ)。NoClassDefFoundError:android.support.design.internal.NavigationMenu on Android 4.2.2(wiko)
Android 4.3またはAndroid 5.xまたは6.0のNexusでSamsungを実行すると、すべて正常に動作しますが、Android 4.2.2のWiko Rainbowでアプリを実行すると、次の例外:
java.lang.RuntimeException: Unable to start activity ComponentInfo{applicationId/package.MainActivity}: android.view.InflateException: Binary XML file line #11: Error inflating class <unknown>
[...]
Caused by: android.view.InflateException: Binary XML file line #11: Error inflating class <unknown>
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
at android.view.LayoutInflater.createView(LayoutInflater.java:587)
[...]
Caused by: java.lang.NoClassDefFoundError: android.support.design.internal.NavigationMenu
at android.support.design.widget.NavigationView.<init>(NavigationView.java:99)
at android.support.design.widget.NavigationView.<init>(NavigationView.java:92)
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
at android.view.LayoutInflater.createView(LayoutInflater.java:587)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
[...]
このエラーは、同様のもの、開発者は、Android 4.2.2にいくつかのWIKOとサムスンの携帯電話にAPPCOMPAT-V7のライブラリを使用して、数ヶ月前に持っていたについて私は考えさせます。
エラー:
java.lang.NoClassDefFoundError: android.support.v7.internal.view.menu.MenuBuilder
at android.support.v7.app.ActionBarActivityDelegateBase.initializePanelMenu(ActionBarActivityDelegateBase.java:914)
at android.support.v7.app.ActionBarActivityDelegateBase.preparePanel(ActionBarActivityDelegateBase.java:964)
at android.support.v7.app.ActionBarActivityDelegateBase.doInvalidatePanelMenu(ActionBarActivityDelegateBase.java:1182)
at android.support.v7.app.ActionBarActivityDelegateBase.access$100(ActionBarActivityDelegateBase.java:79)
at android.support.v7.app.ActionBarActivityDelegateBase$1.run(ActionBarActivityDelegateBase.java:118)
at android.os.Handler.handleCallback(Handler.java:800)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5391)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
ソリューションは、プロジェクトに次のProGuardのファイルを使用していた:私は(特定のルールを追加する必要はありませんので、
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod
-dontobfuscate
-dontoptimize
-keep class !android.support.v7.internal.view.menu.**, ** { *; }
このソリューションは素晴らしかったですいくつか-dontwarn
行)私はJacksonのように使用したり、アンドロイドコンポーネントの特定のルールを追加したりするためのライブラリです。
MenuBuilder
クラスのNavigationMenu
クラス継承は、私たちは問題を解決するために、このようなProGuardのファイルを変更することができると考えているので:
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod
-dontobfuscate
-dontoptimize
-keep class !android.support.design.internal.**, ** { *; }
残念ながらそれは...動作しません。だから私は、別の解決策を試してみました:
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod
-dontobfuscate
-dontoptimize
-keep class !android.support.v7.internal.view.menu.*MenuBuilder*, android.support.v7.** { *; }
を動作しますが...実は、私はもうNoClassDefFoundError
例外を持っていないが、私は他の人の例外(つまり、すべてのAndroid上で発生していこのソリューションバージョン)は次のようになります。
- いくつかのコンストラクタがリフレクションで使用されています。
- いくつかの空のコンストラクタがJacksonオブジェクトにあるか、または
Fragment
にありません。
私のアプリをAndroid 4.2.2のWikoで実行するためのソリューションを知っていますか?使用しているか使用しているライブラリごとに特定のルールを追加する必要はありません未来 ?
ありがとうございました!
何もすることがないかもしれないこの設定ファイルにはたくさんのものがありますこの問題でNavigationViewでこの問題を正確に解決していることについて、具体的に説明できますか?私は、例えば、難読化を望んで、それをオフにしません - 私はこれが問題と関係しているとは思わない... – Zordid