2011-11-12 3 views
2

私はAmazon App Storeに別々の2つのアプリケーションを提出しようとしていますが、依然として拒否されています。ここで最初のスタックトレースは次のとおりです。Amazon java.lang.VerifyError Android

11-05 11:14:36.488 E/AndroidRuntime(28128): FATAL EXCEPTION: AsyncTask #1 
11-05 11:14:36.488 E/AndroidRuntime(28128): java.lang.RuntimeException: An error occured while executing doInBackground() 
11-05 11:14:36.488 E/AndroidRuntime(28128): at android.os.AsyncTask$3.done(AsyncTask.java:200) 
11-05 11:14:36.488 E/AndroidRuntime(28128): at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273) 
11-05 11:14:36.488 E/AndroidRuntime(28128): at java.util.concurrent.FutureTask.setException(FutureTask.java:124) 
11-05 11:14:36.488 E/AndroidRuntime(28128): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307) 
11-05 11:14:36.488 E/AndroidRuntime(28128): at java.util.concurrent.FutureTask.run(FutureTask.java:137) 
11-05 11:14:36.488 E/AndroidRuntime(28128): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068) 
11-05 11:14:36.488 E/AndroidRuntime(28128): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561) 
11-05 11:14:36.488 E/AndroidRuntime(28128): at java.lang.Thread.run(Thread.java:1096) 
11-05 11:14:36.488 E/AndroidRuntime(28128): Caused by: java.lang.VerifyError: com.companionfree.WLThemeViewer.AmazonClientManager 
11-05 11:14:36.488 E/AndroidRuntime(28128): at com.companionfree.WLThemeViewer.UpdateDBs.doInBackground(UpdateDBs.java) 
11-05 11:14:36.488 E/AndroidRuntime(28128): at com.companionfree.WLThemeViewer.UpdateDBs.doInBackground(UpdateDBs.java) 
11-05 11:14:36.488 E/AndroidRuntime(28128): at android.os.AsyncTask$2.call(AsyncTask.java:185) 
11-05 11:14:36.488 E/AndroidRuntime(28128): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 
11-05 11:14:36.488 E/AndroidRuntime(28128): ... 4 more 

そして第二に

10-12 15:41:48.929 D/dalvikvm(2451): GC_FOR_MALLOC freed 8099 objects/524416 bytes in 34ms 
10-12 15:41:49.327 I/RPC  (1563): rx thread timeout (1 clients): 
10-12 15:41:49.828 I/RPC  (1563): rx thread timeout (1 clients): 
10-12 15:41:50.089 I/ActivityManager(1563): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.companionfree.pushup/.MainScreen } 
10-12 15:41:50.099 D/SurfaceFlinger(1563): Layer::setBuffers(this=0xeafa50), pid=1563, w=1, h=1 
10-12 15:41:50.099 D/SurfaceFlinger(1563): Layer::setBuffers(this=0xeafa50), pid=1563, w=1, h=1 
10-12 15:41:50.139 D/SurfaceFlinger(1563): Layer::requestBuffer(this=0xeafa50), index=0, pid=1563, w=480, h=800 success 
10-12 15:41:50.189 I/ActivityManager(1563): Start proc com.companionfree.pushup for activity com.companionfree.pushup/.MainScreen: pid=2644 uid=10129 gids={1015, 3003} 
10-12 15:41:50.319 I/RPC  (1563): rx thread timeout (1 clients): 
10-12 15:41:50.359 W/dalvikvm(2644): VFY: Lcom/companionfree/pushup/WorkoutDbAdapter; is not instance of Landroid/app/Activity; 
10-12 15:41:50.369 W/dalvikvm(2644): VFY: bad arg 0 (into Landroid/app/Activity;) 
10-12 15:41:50.369 W/dalvikvm(2644): VFY: rejecting call to Lcom/amazon/android/Kiwi;.onActivityResult (Landroid/app/Activity;IILandroid/content/Intent;)Z 
10-12 15:41:50.369 W/dalvikvm(2644): VFY: rejecting opcode 0x71 at 0x0000 
10-12 15:41:50.369 W/dalvikvm(2644): VFY: rejected Lcom/companionfree/pushup/WorkoutDbAdapter;.onActivityResult (IILandroid/content/Intent;)V 
10-12 15:41:50.369 W/dalvikvm(2644): Verifier rejected class Lcom/companionfree/pushup/WorkoutDbAdapter; 
10-12 15:41:50.369 D/AndroidRuntime(2644): Shutting down VM 
10-12 15:41:50.369 W/dalvikvm(2644): threadid=1: thread exiting with uncaught exception (group=0x40025a70) 
10-12 15:41:50.369 E/AndroidRuntime(2644): FATAL EXCEPTION: main 
10-12 15:41:50.369 E/AndroidRuntime(2644): java.lang.VerifyError: com.companionfree.pushup.WorkoutDbAdapter 
10-12 15:41:50.369 E/AndroidRuntime(2644):  at com.companionfree.pushup.MainScreen.onCreateMainScreen(MainScreen.java) 
10-12 15:41:50.369 E/AndroidRuntime(2644):  at com.companionfree.pushup.MainScreen.onCreate(MainScreen.java) 
10-12 15:41:50.369 E/AndroidRuntime(2644):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1088) 
10-12 15:41:50.369 E/AndroidRuntime(2644):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2802) 
10-12 15:41:50.369 E/AndroidRuntime(2644):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2859) 
10-12 15:41:50.369 E/AndroidRuntime(2644):  at android.app.ActivityThread.access$2300(ActivityThread.java:136) 
10-12 15:41:50.369 E/AndroidRuntime(2644):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2179) 
10-12 15:41:50.369 E/AndroidRuntime(2644):  at android.os.Handler.dispatchMessage(Handler.java:99) 
10-12 15:41:50.369 E/AndroidRuntime(2644):  at android.os.Looper.loop(Looper.java:143) 
10-12 15:41:50.369 E/AndroidRuntime(2644):  at android.app.ActivityThread.main(ActivityThread.java:5073) 
10-12 15:41:50.369 E/AndroidRuntime(2644):  at java.lang.reflect.Method.invokeNative(Native Method) 
10-12 15:41:50.369 E/AndroidRuntime(2644):  at java.lang.reflect.Method.invoke(Method.java:521) 
10-12 15:41:50.369 E/AndroidRuntime(2644):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858) 
10-12 15:41:50.369 E/AndroidRuntime(2644):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
10-12 15:41:50.369 E/AndroidRuntime(2644):  at dalvik.system.NativeStart.main(Native Method) 
10-12 15:41:50.379 W/ActivityManager(1563): Force finishing activity com.companionfree.pushup/.MainScreen 
10-12 15:41:50.399 D/SurfaceFlinger(1563): Layer::setBuffers(this=0xeff6b8), pid=1563, w=1, h=1 
10-12 15:41:50.399 D/SurfaceFlinger(1563): Layer::setBuffers(this=0xeff6b8), pid=1563, w=1, h=1 
10-12 15:41:50.419 D/SurfaceFlinger(1563): Layer::requestBuffer(this=0xeff6b8), index=0, pid=1563, w=480, h=337 success 
10-12 15:41:50.469 D/dalvikvm(2451): GC_FOR_MALLOC freed 7889 objects/521072 bytes in 105ms 
10-12 15:41:50.819 I/RPC  (1563): rx thread timeout (1 clients): 

に関連するlogcat私は両方で同じ検証エラーを参照してくださいが、私はそれを把握することはできません。 2つのアプリケーションの間で使用される唯一の共通ライブラリは、分析のためのFlurryAgent.jarです。

トップアプリの場合 ボトムアプリの場合はマニフェストに があります。私が知ることができた唯一の情報は、ライブラリ(GSON)とdxを使う必要があるが、私はEclipseを使用しているので、役に立たない。

これをさらに難しくするために、Androidマーケットではエラーは発生しません。しかし、Amazonのテスト担当者は、それぞれのデバイスでFC 5/5回(私はテストデバイス用のエミュレータを試してみて、うまくいきました)と言います。私は彼らが私のアプリの周りに "ラッパー"コードを使用していると私はそれが何らかの方法で干渉している必要がありますと思う。

誰もこの経験がありますか?

答えて

0

これはAmazonの問題だと思います。どうやら、彼らはあなたのAPKにいくつかのDRMコードを注入されていますInjecting code into APK

他の人が同様のエラーを見ている - 私の場合はAndroid app issue (Amazon)

+0

うん、私はそれらを見つけた。私はAmazonに連絡して、彼らの言うことを見るだろうと思う。それは本当にイライラしています。彼らのappstoreとの恐ろしい経験。 – easycheese

0

を、ないVerifyErrorを引き起こしていたクラスが utilのと呼ばれるパッケージにありました。それはutilsに名前を変更すると、問題を解決したため、おそらくAmazonによって注入されたパッケージと衝突していました。

私たちのアプリはFacebook SDKを使用していたので、新しいバイナリをアップロードするときに"いいえ、私のバイナリに署名します"オプションが与えられました。このように署名されていないAPKをアップロードすると、処理されたバイナリ(注入されたコードを含む)をステップ2としてダウンロードできるようになります。私はクラッシュしたAPKのコピーをダウンロードし、このような承認プロセスを経ることなく変更をテストすることができました。

+0

これはどうやって行っていますか? – easycheese

2

私は同様の問題があったが -

のAndroidManifest.xml

から非アクティビティクラスを削除することで、それを解決Amazonはアプリの活動のライフサイクルイベントに独自のコードを挿入します。それを知って、あなたが提供してきたログを見て:

10-12 15:41:50.359 W/dalvikvm(2644): VFY: Lcom/companionfree/pushup/WorkoutDbAdapter; is not instance of Landroid/app/Activity;

Amazonのコードは機器にしようとした活動ではないですクラス(WorkoutDbAdapter)が(活動を拡張しない)ように見える、という終わりますJVMの検証者によって拒否されました。

私のアプリでは、クラスがリストされて以来、これはAndroidManifest.xmlのアクティビティがリストされていたために起こりました。 AndroidManifest.xmlからこのリスティングを削除すると、問題が解決され、アプリは市場に承認されました。

Sarpは、あなたのクラスのパッケージ名を変更すると問題が解決すると書いています。おそらくAndroidManifest.xmlにあなたのリスティングを関連性がなくなったからです。これにより、問題を回避する。

0

私はちょうど私の問題を解決し、あなたに役立つかもしれない

を私は2.0とADTにASを更新、などコンストラクタに注意してください、最終的には 出てくる問題を検証:

class abc { 
    abc(int x) { 
    .... 
    } 
    abc(byte x) { 
    .... 
    } 
}