2015-03-10 5 views
2

Время от времени я вижу следующее исключение в разделе «Сбои в консоли».Редкий Android Не удалось выполнить запуск приложения

Что вызывает недоумение, так это то, что карты google отображаются в стеке вызовов, как будто его вызов или создание моего класса приложения - очень запутанный. Еще более странным является «MyApp-2.apk» в стеке вызовов, где он добавляет «-2».

Я также включил файл android.maps.jar в libs.

Я хотел бы знать, как воссоздать это, если это возможно, и как предотвратить это?

java.lang.RuntimeException: Unable to instantiate application com.MyApp.MyCustomApp: 
java.lang.ClassNotFoundException: Didn't find class "com.MyApp.MyCustomApp" 
on path: /system/framework/com.google.android.maps.jar:/data/app/com.MyApp-2.apk 
    at android.app.LoadedApk.makeApplication(LoadedApk.java:503) 
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4405) 
    at android.app.ActivityThread.access$1400(ActivityThread.java:141) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1327) 
    at android.os.Handler.dispatchMessage(Handler.java:99) 
    at android.os.Looper.loop(Looper.java:137) 
    at android.app.ActivityThread.main(ActivityThread.java:5059) 
    at java.lang.reflect.Method.invokeNative(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:511) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:792) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555) 
    at dalvik.system.NativeStart.main(Native Method) 
    Caused by: java.lang.ClassNotFoundException: Didn't find class "com.MyApp.MyCustomApp" on path: /system/framework/com.google.android.maps.jar:/data/app/com.MyApp-2.apk 
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:501) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:461) 
    at android.app.Instrumentation.newApplication(Instrumentation.java:967) 
    at android.app.LoadedApk.makeApplication(LoadedApk.java:498) 
    ... 11 more 

Manifest Тэг Применение:

<application 
     android:name=".MyApp" 
     android:hardwareAccelerated="true" 
     android:icon="@drawable/app_icon" 
     android:label="@string/app_name" 
     android:theme="@style/AppBaseTheme" > 

Я использую эти баночки: Android-поддержка-v4-r2-googlemaps.jar + андроид-поддержку-v4.jar

+0

можете ли вы разместить тег приложения манифеста? было бы полезно, если бы кто-то помог вам. А также ваша версия ADT в случае, если вы используете eclipse :) –

+0

Привет, конечно, я добавлю тег приложения. Я также не использую eclipse, используя Android Studio. – AlexVPerl

+0

И как вы сказали: «Сбой в консоли dev», вы обнаружили какой-либо определенный уровень или устройство api? –

ответ

2

Премьер причина, по которой класс в вашем приложении будет присутствовать на ваших тестовых устройствах, но отсутствовать во время выполнения некоторых других, будет, если ваш класс имеет зависимость от какой-либо внешней функции, которая отсутствует на этих устройствах. Например, если вы использовали какой-либо Google API, который не является частью AOSP и так отсутствует в простой сборке AOSP или сборке поставщика, которая не лицензирует их, тогда ваш класс будет обрезаться во время установки, так как его зависимости не могут быть разрешены.

Общепринятой причиной для вашего приложения, находящегося в таких обстоятельствах, может быть кто-то, кто работает с непоследовательно собранным «обычным ПЗУ» на своем устройстве.

+0

Спасибо, это имеет смысл. Я использую Google MapView в своем приложении, но я не делаю ничего необычного, просто маркеры карт и полилинии. И я включу эти JARS: android-support-v4-r2-googlemaps.jar + android-support-v4.jar – AlexVPerl

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