Noclassdeffounderror: android.support.design.internal.navigationmenu на Android 4.2.2 (Wiko)Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Noclassdeffounderror: android.support.design.internal.navigationmenu на Android 4.2.2 (Wiko)

Сообщение Anonymous »

Я пытаюсь использовать библиотеку дизайна поддержки Android (в версии 23.0.1) и класс NavigationMenu < /code> (я использую этот класс в качестве тега XML в макет). < /p>

Когда я выполняю свое приложение на Samsung на Android 4.3 или на Nexus на Android 5.x или 6.0. 4.2.2, он вылетает со следующим исключением: < /p>

Код: Выделить всё

java.lang.RuntimeException: Unable to start activity ComponentInfo{applicationId/package.MainActivity}: android.view.InflateException: Binary XML file line #11: Error inflating class 
[...]
Caused by: android.view.InflateException: Binary XML file line #11: Error inflating class 
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.(NavigationView.java:99)
at android.support.design.widget.NavigationView.(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)
[...]
This error makes me think about a similar one developers had several months ago, using the appcompat-v7 library on some Wiko and Samsung phones on Android 4.2.2.

The error was :

Код: Выделить всё

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)
< /code>

Решением было использовать следующий файл прогика в проекте: < /p>

-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod

-dontobfuscate
-dontoptimize

-keep class !android.support.v7.internal.view.menu.**, ** { *; }
Это решение было отличным, потому что мне не нужно добавлять конкретные правила (только некоторые строки -dontwarn ) для других библиотек, которые я использую, как Джексон, или добавлять конкретные правила для компонентов Android. Файл прогноза, как это, чтобы решить проблему: < /p>

-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod

-dontobfuscate
-dontoptimize

-keep class !android.support.design.internal.**, ** { *; }
< /code>

К сожалению, он не работает ... поэтому я попробовал другое решение: < /p>

-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod

-dontobfuscate
-dontoptimize

-keep class !android.support.v7.internal.view.menu.*MenuBuilder*, android.support.v7.** { *; }
< /code>

Это решения работает < /em> Но ... На самом деле, у меня больше нет исключения noclassdeffounderror < /code>, но у меня есть исключения других (которые встречаются во всех версиях Android), как: < /p>


Отсутствуют некоторые пропущенные конструкторы, используемые с размышлением; Конструкторы на объектах Джексона или на фрагменте < /code>. < /li>
< /ul>

Итак, знаете ли вы решение, которое позволяет мне выполнять свое приложение на Wiko на Android 4.2.2, и в каком я не должен добавлять конкретные правила для каждой библиотеки, который я использую в будущем?>

Подробнее здесь: https://stackoverflow.com/questions/327 ... on-android
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»