このエラーは私を夢中にさせています。Google Play ストアからダウンロードすると、起動時にアプリがクラッシュし、次のエラーが表示されます。
java.lang.ClassNotFoundException
in dalvik.system.BaseDexClassLoader.findClass
2 つのデバイスで Eclipse からビルドすると、アプリがクラッシュしません。しかし、1 か月前にクライアントが自分の電話を使用してアプリをビルドしたところ、起動時にクラッシュしました。この問題は私たちのデバイスで動作していたため、無視しました。これは、Google マップのキーまたはキーストアと関係があると考えたからです。
Play ストアからダウンロードすると、すべてのデバイスでアプリがクラッシュすることが判明しました。この問題を解決する簡単な方法がないことは理解していますが、正しい方向に進んでいただければ幸いです。
また、この問題をデバッグするのも難しいと思います。これは、デバイスで Eclipse からビルドするとアプリがうまく機能するためです。
私が報告した完全なエラーログは次のとおりです。
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.denederlandsewateren.winkeloord/com.denederlandsewateren.views.StartScreenActivity}: java.lang.ClassNotFoundException: com.denederlandsewateren.views.StartScreenActivity
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2099)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2210)
at android.app.ActivityThread.access$600(ActivityThread.java:142)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1208)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4931)
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:791)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:558)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: com.denederlandsewateren.views.StartScreenActivity
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.newActivity(Instrumentation.java:1053)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2090)
... 11 more
繰り返しますが、この問題に対する簡単な答えを除いてはいけませんが、誰かがこのエラーログで提供されるこの問題に光を当てることができるかもしれません.
編集
役に立つ場合は、マニフェスト ファイルを次に示します。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.xxxx.xxxxx"
android:versionCode="1"
android:versionName="1.0" >
<permission
android:name="com.xxxxx.xxxxx.MAPS_RECEIVE"
android:protectionLevel="signature" />
<permission
android:name="com.xxxxx.xxxxx.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="my_app_package.permission.C2D_MESSAGE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="com.xxxxxx.xxxxx.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
<application
android:allowBackup="true"
android:icon="@drawable/app_icon"
android:label="@string/app_name"
android:theme="@style/Theme.Sherlock" >
<service android:name="com.xxxxxx.xxxxx.GCMIntentService" />
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="xxxxxxxx" />
<receiver
android:name="com.google.android.gcm.GCMBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="com.xxxxxx.xxxxxxx" />
</intent-filter>
</receiver>
<activity
android:name="com.xxxxx.xxxxx.MainActivity"
android:label="@string/app_name"
android:screenOrientation="portrait">
<!--<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter> -->
</activity>
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/app_id" />
<activity android:name="com.facebook.LoginActivity" >
</activity>
<activity
android:name="com.xxxxxx.xxxxxx.StartScreenActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
編集
デバイスにアプリをインストールする際の詳細ログを追加しました
03-30 17:56:28.554: D/dalvikvm(5150): GC_FOR_ALLOC freed 233K, 68% free 2639K/8195K, paused 13ms, total 13ms
03-30 17:56:28.574: I/dalvikvm-heap(5150): Grow heap (frag case) to 26.682MB for 16777232-byte allocation
03-30 17:56:28.594: D/dalvikvm(5150): GC_CONCURRENT freed <1K, 23% free 19022K/24647K, paused 2ms+9ms, total 21ms
03-30 17:56:29.114: D/dalvikvm(5150): GC_FOR_ALLOC freed 0K, 23% free 19022K/24647K, paused 15ms, total 15ms
03-30 17:56:29.129: I/dalvikvm-heap(5150): Grow heap (frag case) to 35.681MB for 9437200-byte allocation
03-30 17:56:29.169: D/dalvikvm(5150): GC_CONCURRENT freed 0K, 17% free 28238K/33927K, paused 2ms+2ms, total 38ms
03-30 17:56:29.254: D/libEGL(5150): loaded /system/lib/egl/libEGL_mali.so
03-30 17:56:29.259: D/libEGL(5150): loaded /system/lib/egl/libGLESv1_CM_mali.so
03-30 17:56:29.259: D/libEGL(5150): loaded /system/lib/egl/libGLESv2_mali.so
03-30 17:56:29.284: D/OpenGLRenderer(5150): Enabling debug mode 0
03-30 17:56:32.154: D/KEY(5150): UUID
03-30 17:56:32.179: I/System.out(5150): UUID: xxxxxxxxxxxxxx
03-30 17:56:32.179: E/SerializeObject(5150): FileNot Found in ReadSettings filename = xxxxx.dat
03-30 17:56:32.184: D/GCMRegistrar(5150): resetting backoff for com.xxxxx.xxxxx
03-30 17:56:32.214: V/GCMRegistrar(5150): Registering app com.xxxxx.xxxxx of senders 752727514714
03-30 17:56:32.214: D/KEY(5150): pushEnabled
03-30 17:56:32.324: V/SlidingMenu(5150): setting padding!
03-30 17:56:32.394: W/AllCapsTransformationMethod(5150): Caller did not enable length changes; not transforming text
03-30 17:56:32.394: W/AllCapsTransformationMethod(5150): Caller did not enable length changes; not transforming text
03-30 17:56:32.394: W/AllCapsTransformationMethod(5150): Caller did not enable length changes; not transforming text
03-30 17:56:32.409: W/AllCapsTransformationMethod(5150): Caller did not enable length changes; not transforming text
03-30 17:56:32.414: W/AllCapsTransformationMethod(5150): Caller did not enable length changes; not transforming text
03-30 17:56:32.414: W/AllCapsTransformationMethod(5150): Caller did not enable length changes; not transforming text
03-30 17:56:32.424: W/AllCapsTransformationMethod(5150): Caller did not enable length changes; not transforming text
03-30 17:56:32.424: W/AllCapsTransformationMethod(5150): Caller did not enable length changes; not transforming text
03-30 17:56:32.429: W/AllCapsTransformationMethod(5150): Caller did not enable length changes; not transforming text
03-30 17:56:32.434: W/AllCapsTransformationMethod(5150): Caller did not enable length changes; not transforming text
03-30 17:56:32.434: W/AllCapsTransformationMethod(5150): Caller did not enable length changes; not transforming text
03-30 17:56:32.434: W/AllCapsTransformationMethod(5150): Caller did not enable length changes; not transforming text
03-30 17:56:32.459: V/CustomViewBehind(5150): behind INVISIBLE
03-30 17:56:36.894: D/dalvikvm(5150): GC_CONCURRENT freed 20031K, 58% free 15574K/36551K, paused 4ms+7ms, total 49ms
03-30 17:56:36.894: D/dalvikvm(5150): WAIT_FOR_CONCURRENT_GC blocked 31ms
03-30 17:56:37.504: I/System.out(5150): VaarApp ID: 5
03-30 17:56:37.534: I/Choreographer(5150): Skipped 122 frames! The application may be doing too much work on its main thread.
03-30 17:56:37.539: V/GCMBroadcastReceiver(5150): onReceive: com.google.android.c2dm.intent.REGISTRATION
03-30 17:56:37.544: V/GCMBroadcastReceiver(5150): GCM IntentService class: com.xxxxx.xxxxx.GCMIntentService
03-30 17:56:37.549: V/GCMBaseIntentService(5150): Acquiring wakelock
03-30 17:56:37.794: V/GCMBaseIntentService(5150): Intent service name: GCMIntentService-DynamicSenderIds-1
03-30 17:56:37.794: E/GCMRegistrar(5150): internal error: retry receiver class not set yet
03-30 17:56:37.794: V/GCMRegistrar(5150): Registering receiver
03-30 17:56:37.799: D/GCMBaseIntentService(5150): handleRegistration: registrationId = xxxxxxxxx-xxxxxxxx-xxxxxxxx-xxxxxx-xxxxx-xxxx, error = null, unregistered = null
03-30 17:56:37.799: D/GCMRegistrar(5150): resetting backoff for com.xxxxx.xxxxx
03-30 17:56:37.799: V/GCMRegistrar(5150): Saving regId on app version 1
03-30 17:56:37.829: V/GCMBaseIntentService(5150): Releasing wakelock
03-30 17:56:39.169: D/dalvikvm(5150): GC_CONCURRENT freed 2248K, 52% free 17830K/36551K, paused 6ms+12ms, total 95ms
03-30 17:56:39.169: D/dalvikvm(5150): WAIT_FOR_CONCURRENT_GC blocked 12ms
03-30 17:56:39.174: D/dalvikvm(5150): WAIT_FOR_CONCURRENT_GC blocked 48ms
03-30 17:56:41.164: I/dalvikvm(5150): Jit: resizing JitTable from 4096 to 8192
03-30 17:56:42.229: D/dalvikvm(5150): GC_CONCURRENT freed 4265K, 49% free 18778K/36551K, paused 3ms+6ms, total 58ms
03-30 17:56:42.229: D/dalvikvm(5150): WAIT_FOR_CONCURRENT_GC blocked 41ms
03-30 17:56:42.234: D/dalvikvm(5150): WAIT_FOR_CONCURRENT_GC blocked 46ms
03-30 17:57:51.759: D/dalvikvm(5150): GC_CONCURRENT freed 5476K, 49% free 18775K/36551K, paused 21ms+6ms, total 196ms