Pergunta

I have an issue with ADT v22 and an APK I have been working on.

Using ADT v22.0.1 I receive this error running the application in "Debug"

[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 contains

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

I have tried to fix it by removing "assets/img/combatflowchart/BountyHunter.png" and no amount of file deleting in the application itself has been able to remove the error, it just moves to the next file. Using the 'aapt' tool I can see that the files are signed.

This occurs on Android 2.2.1 and Android 2.2.2 but not on 2.3.5, 2.3.7, 4.1.1 or 4.2

I have been able to resolve the issue in debug by deleting ~/.android/debug.keystore and allowing ADT v22 to recreate the key.

However, the old key is tied to several services. The old debug key works fine with most of my test devices but two of these 2.2.x devices just won't run it anymore (after the ADT v22 upgrade.)

Does anyone know how to fix it so that ...

Debug Key + ADT v22 + Android OS v2.2.1 = SUCCESS?

Foi útil?

Solução

I solved by deleting the file debug.keystore in the folder %user_profile% .android, and recompiling the Android project... the problem seems to be resolved.

if it still does not work, you try the following command

keytool -genkey -v -keystore myapp.keystore -alias myapp -keyalg DSA -keysize 1024 -validity 10000

In my case, the problem occurs when I use export wizard on Eclipse. the following command is no problem(MyApp.apk is unsigned).

jarsigner -verbose -keystore myapp.keystore MyApp.apk myapp

My other keystores are SHA1withRSA algorithm, and no problem.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top