2017-01-09 7 views
-5

Я работаю над исходным кодом телеграммы. Все правильно, и теперь приложение будет установлено и успешно запущено на устройствах.force закрыть приложение для Android в устройствах с Android 4

Но в устройствах с версией для Android версии 4.0.1 до версии Android 4.2.2 приложение остановится с ошибкой, показанной ниже. Я изменил defaultConfig.applicationId в build.gradle до ir.familygram.messenger и угадаю, что это проблема, но почему это хорошо работает на устройствах с sdk 22,23 и т. Д. и не работать в устройствах с более низким Android-SDK?

ошибка в андроида мониторе устройства:

01-09 15:45:40.190: E/AndroidRuntime(8158): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{ir.familygram.messenger/org.telegram.ui.LaunchActivity}: java.lang.ClassNotFoundException: org.telegram.ui.LaunchActivity 
01-09 15:45:40.190: E/AndroidRuntime(8158):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1998) 
01-09 15:45:40.190: E/AndroidRuntime(8158):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2099) 
01-09 15:45:40.190: E/AndroidRuntime(8158):  at android.app.ActivityThread.access$600(ActivityThread.java:138) 
01-09 15:45:40.190: E/AndroidRuntime(8158):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205) 
01-09 15:45:40.190: E/AndroidRuntime(8158):  at android.os.Handler.dispatchMessage(Handler.java:99) 
01-09 15:45:40.190: E/AndroidRuntime(8158):  at android.os.Looper.loop(Looper.java:137) 
01-09 15:45:40.190: E/AndroidRuntime(8158):  at android.app.ActivityThread.main(ActivityThread.java:4954) 
01-09 15:45:40.190: E/AndroidRuntime(8158):  at java.lang.reflect.Method.invokeNative(Native Method) 
01-09 15:45:40.190: E/AndroidRuntime(8158):  at java.lang.reflect.Method.invoke(Method.java:511) 
01-09 15:45:40.190: E/AndroidRuntime(8158):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:798) 
01-09 15:45:40.190: E/AndroidRuntime(8158):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:565) 
01-09 15:45:40.190: E/AndroidRuntime(8158):  at dalvik.system.NativeStart.main(Native Method) 
01-09 15:45:40.190: E/AndroidRuntime(8158): Caused by: java.lang.ClassNotFoundException: org.telegram.ui.LaunchActivity 
01-09 15:45:40.190: E/AndroidRuntime(8158):  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61) 
01-09 15:45:40.190: E/AndroidRuntime(8158):  at java.lang.ClassLoader.loadClass(ClassLoader.java:501) 
01-09 15:45:40.190: E/AndroidRuntime(8158):  at java.lang.ClassLoader.loadClass(ClassLoader.java:461) 
01-09 15:45:40.190: E/AndroidRuntime(8158):  at android.app.Instrumentation.newActivity(Instrumentation.java:1056) 
01-09 15:45:40.190: E/AndroidRuntime(8158):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1989) 
01-09 15:45:40.190: E/AndroidRuntime(8158):  ... 11 more 
01-09 15:58:00.770: E/Trace(9057): error opening trace file: No such file or directory (2) 

ответ

0

Ответ ссылка: NoClassDefFoundError below SDK 21

Я решил проблему, добавив в моем классе Application.

@Override 
protected void attachBaseContext(Context base) { 
super.attachBaseContext(base); 
MultiDex.install(this); 
} 

Если вы не имеете/использовать класс приложений, вы можете поместить это:

android:name="android.support.multidex.MultiDexApplication" 

В теге на AndroidManifest.xml

Если вы уже реализовали класс Application

Также очевидно, что вам необходимо добавить зависимость Gradle:

compile 'com.android.support:multidex:1.0.0' 

Дополнительная информация о методах 65k методов: https://developer.android.com/tools/building/multidex.html

 Смежные вопросы

  • Нет связанных вопросов^_^