Why signed android apk is not running on emulator

前端 未结 6 2099
情书的邮戳
情书的邮戳 2021-02-11 03:00

I have made a signed apk of an android project. Whenever my client try to run it on the emulator, he faces the following error message:

D:\\Android\\android-sdk-         


        
相关标签:
6条回答
  • 2021-02-11 03:40

    As Dan pointed out, check if you're running JDK 7. More info: http://code.google.com/p/android/issues/detail?id=19567

    0 讨论(0)
  • 2021-02-11 03:40

    You can run the Command:

    C:\Program Files\Android\android-sdk\platform-tools>adb logcat
    

    It will give you a more detail on which exact file is not signed:

    Package has no certificates at entry assets/META-INF/AIR/application.xml; ignoring! 
    
    0 讨论(0)
  • 2021-02-11 03:42

    In my case it was because I signed it on a machine running JDK 7. Downgrading to JDK 6 fixed the problem. Thanks java.lang.SecurityException when install apk for the suggestion!

    0 讨论(0)
  • 2021-02-11 03:46

    You could check if the client has not disabled installation of unsigned apps in the emulator.

    0 讨论(0)
  • 2021-02-11 03:53

    As mentioned by steelbytes, the error INSTALL_PARSE_FAILED_NO_CERTIFICATES suggests that the APK isn't signed like you think it is.

    Run this command to verify which certificate was used to sign the APK:
    jarsigner -verify -verbose -certs abc.apk

    For each entry in the APK, you should see something like this:

    sm    152412 Wed Oct 14 14:16:52 CEST 2009 classes.dex
    
          X.509, CN=Meebo, OU=Meebo, O=Meebo, L=Mountain View, ST=California, C=US
          [certificate is valid from 28/10/08 06:49 to 13/08/82 07:49]
    

    Otherwise, if the APK isn't signed, you'll get the message jar is unsigned.

    0 讨论(0)
  • 2021-02-11 03:57

    try below code it's worked for me.

    Below line run when your jdk version is 6 for singing the apk
    
    H:\Keytool>"C:\Program Files\Java\jdk1.6.0_09\bin\jarsigner.exe" -verbose -keystore donate.keystore "H:\Keytool\yourapkName.apk.apk" donate.keystore 
    
    Below line run when your jdk version is 7 for singing the apk
    
    H:\Keytool>"C:\Program Files\Java\jdk1.7.0_21\bin\jarsigner.exe" -verbose -keyst
    ore denote.keyStore "H:\Keytool\yourapkName.apk" denote.keyStore -digestalg SHA1 -sigalg MD5withRSA
    
    0 讨论(0)
提交回复
热议问题