ADT v22 と私が取り組んでいる APK に問題があります。
ADT v22.0.1 を使用して、「デバッグ」でアプリケーションを実行すると、このエラーが表示されます
[2013-06-07 12:31:00 - Star Traders] Installation error: INSTALL_PARSE_FAILED_NO_CERTIFICATES
[2013-06-07 12:31:00 - Star Traders] Please check logcat output for more details.
[2013-06-07 12:31:01 - Star Traders] Launch canceled!
logcat が含まれています
D/dalvikvm( 703): GC_FOR_MALLOC freed 467 objects / 234568 bytes in 189ms
D/NativeCrypto( 703): OpenSSL error 101105774: error:0606C06E:digital envelope routines:EVP_Ver:
W/PackageParser( 703): Exception reading assets/img/combatflowchart/BountyHunter.png in /data/app/vmdl41201.tmp
W/PackageParser( 703): java.lang.SecurityException: /data/app/vmdl41201.tmp failed verification of META-INF/CERT.SF
W/PackageParser( 703): at java.util.jar.JarVerifier.verifyCertificate(JarVerifier.java:320)
W/PackageParser( 703): at java.util.jar.JarVerifier.readCertificates(JarVerifier.java:272)
W/PackageParser( 703): at java.util.jar.JarFile.getInputStream(JarFile.java:392)
W/PackageParser( 703): at android.content.pm.PackageParser.loadCertificates(PackageParser.java:337)
W/PackageParser( 703): at android.content.pm.PackageParser.collectCertificates(PackageParser.java:508)
W/PackageParser( 703): at com.android.server.PackageManagerService.installPackageLI(PackageManagerService.java:5891)
W/PackageParser( 703): at com.android.server.PackageManagerService.access$2100(PackageManagerService.java:134)
W/PackageParser( 703): at com.android.server.PackageManagerService$5.run(PackageManagerService.java:4749)
W/PackageParser( 703): at android.os.Handler.handleCallback(Handler.java:587)
W/PackageParser( 703): at android.os.Handler.dispatchMessage(Handler.java:92)
W/PackageParser( 703): at android.os.Looper.loop(Looper.java:123)
W/PackageParser( 703): at android.os.HandlerThread.run(HandlerThread.java:60)
E/PackageParser( 703): Package com.corytrese.games.startraders has no certificates at entry assets/img/combatflowchart/BountyHunter.png; ignoring!
D/dalvikvm( 703): GC_EXPLICIT freed 5063 objects / 519480 bytes in 215ms
D/AndroidRuntime( 1576): Shutting down VM
「assets/img/combatflowchart/BountyHunter.png」を削除して修正しようとしましたが、アプリケーション自体でファイルを削除してもエラーを削除できませんでした。次のファイルに移動するだけです。「aapt」ツールを使用すると、ファイルが署名されていることがわかります。
これは Android 2.2.1 および Android 2.2.2 で発生しますが、2.3.5、2.3.7、4.1.1 または 4.2 では発生しません。
~/.android/debug.keystore を削除し、ADT v22 がキーを再作成できるようにすることで、デバッグで問題を解決できました。
ただし、古いキーはいくつかのサービスに関連付けられています。古いデバッグ キーは、私のテスト デバイスのほとんどで正常に動作しますが、これらの 2.2.x デバイスのうちの 2 つでは実行できなくなりました (ADT v22 アップグレード後)。
誰でもそれを修正する方法を知っていますか...
デバッグ キー + ADT v22 + Android OS v2.2.1 = 成功?