2010-12-14 18 views
3

私は動作しているAndroidアプリケーションがあります。 500種類以上のデバイスで動作します。マニフェストはGalaxyタブのClassNotFoundException

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="info.decamps.droid.photoid" android:versionCode="5" 
android:versionName="1.4"> 
<application android:icon="@drawable/icon" android:label="@string/app_label" 
    android:name="PhotoIDroid" android:description="@string/app_desc" 
    android:debuggable="FALSE"> 

である。しかし、それは、それはサムスンのギャラクシータブから起動したときに、それはで開始し、クラッシュしない:

java.lang.RuntimeException: インスタンス化アプリケーション 情報にできませんが。 decamps.droid.photoid.PhotoIDroid: にjava.lang.ClassNotFoundException:ローダー dalvik.system.PathClassLoaderで info.decamps.droid.photoid.PhotoIDroid [/data/app/info.decamps.droid.photoid-1。 apk] at android.app.ActivityThread $ PackageInfo.makeApplication android.app.ActivityThread.handleBindApplication(ActivityThread.java:4483)で(ActivityThread.java:670) 3000 android.app.ActivityThread.access $(ActivityThread.java で: 135) android.os.Looper.loopで android.os.Handler.dispatchMessage(Handler.java:99) で android.app.ActivityThread $ H.handleMessage(ActivityThread.java:2181) (ルーパーで.java:144) at android.app.ActivityThread.main(ActivityThread.java:4937) at java.lang.reflect.Method.invokeNative(ネイティブ THOD) でjava.lang.reflect.Method.invoke(Method.java:521) com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868) com.androidで で。 にjava.lang.ClassNotFoundException: info.decamps.droid.photoid.PhotoIDroidによって引き起こさ dalvik.system.NativeStart.main(ネイティブ 方法)でinternal.os.ZygoteInit.main(ZygoteInit.java:626) ローダ でdalvik.system.PathClassLoader [/data/app/info.decamps.droid.photoid-1.apk] でdalvik.system.PathClassLoader.findClass(PathClassLoader.java:243) で android.app.Instrumentation.newApplication(Instrumentation.java:945)におけるjava.lang.ClassLoader.loadClass java.lang.ClassLoader.loadClass(ClassLoader.java:532)で(ClassLoader.java:573) より android.app.ActivityThread $ PackageInfo.makeApplication(ActivityThread.java:660) ... 11

でどのようにサムスンギャラクシーはアプリケーションクラスを探してみませんか? これを解決する手掛かりはありますか?

私はSamsung Galaxyエミュレータでtis crashを再現できました。

+0

私はProGuardを使用していません – rds

+2

@rds: 'info.decamps.droid.photoid.PhotoIDroid'のスーパークラスとは何ですか? – CommonsWare

+0

@CommonsWare私はあなたの質問を理解するか分からない。私はこのクラスを開発していません。マニフェストからAndroidによって生成されるのは['Application'](http://developer.android.com/reference/android/app/Application.html)クラスです。ドキュメントから、 "ここでは通常、アプリケーションをサブクラス化する必要はありません。" – rds

答えて

0

AndroidManifest.xmlからandroid:name属性宣言を削除しました。

+0

これは基本的に、 ( 'Application')がそこにあるので、静的イニシャライザなどをチェックして、見つからないものがあるかどうかを確認してください。 – CommonsWare

+0

ありがとう、私はカスタムアプリケーションクラスを記述していませんでした。クラスが存在しない場合、ほとんどのモビリティ(とエミュレータ)は 'android:name'を無視します。デバイス) – rds

+1

android:nameは1.0以降存在しています。指定されたクラスが見つからない場合、常にアプリケーションをクラッシュさせる必要があります。奇妙な。 – hackbod

関連する問題