I have written an Android app (target 3.2) using Eclipse 3.7, I tried to sign the App, but on the target machine, either the App won't install or it installed but doesn't run with "application is not installed" error. In debug mode the app works fine with the temporary certificate.

I checked the App with jarsigner and it has CertPath not validated: null errors.

I have also set the Manifest parameter debuggable and test only to false.

With the keytool I use the following command line -:

keytool -genkey -v -keystore vgpad.keystore -alias alias_name -sigalg SHA1withDSA -keyalg DSA -keysize 1024 -validity 10000

then for the Jarsigner

jarsigner -keystore D:\dev\Java\jdk1.7.0_02\bin\vgpad.keystore -sigalg SHA1withDSA -digestalg SHA1 -storepass puffin -keypass puffin  V-G-Pad.apk alias_name

I have used various different options and also tried from Eclipse, export signed app... still the same error. Any help would be welcome, thanks.

有帮助吗?

解决方案 2

In fact I solved this using two actions,

  1. resorting to the Java 1.6.0.30 JDK, I was using the 1.7 before, this solved the key and signing issues.

  2. Ensured in the manifest I had only the android.permission.WRITE_EXTERNAL_STORAGE once, before the application tag

This was after using the adb logcat command to see the lancher issues :

Permission Denial: starting Intent {.... } requires android.permission.WRITE_EXTERNAL_STORAGE

其他提示

Manifest must contain the minsdk version and maxsdkversion

There is another way to sign up the application.

Right Click on Project -->Select "Android Tools" Option --> "Export Signed Application Package"

in that select project --> create new .keystore file validity(years) = 50

later install that signed apk by using

command prompt from your device with following command

adb install yoursignedapk.apk

this signed apk will successfully install on your device

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top