我已经使用Eclipse 3.7编写了一个Android应用程序(目标3.2),我尝试签署了应用程序,但是在目标计算机上,应用程序将无法安装或安装但不运行“应用程序不是安装“错误。在调试模式下,应用程序可以正常使用临时证书。
我用jarsigner检查了应用程序,并且出现CertPath not validated: null
错误。
我还将Manifest参数设置为debuggable并仅将其设置为false。
使用keytool我使用以下命令行 - :
keytool -genkey -v -keystore vgpad.keystore -alias alias_name -sigalg SHA1withDSA -keyalg DSA -keysize 1024 -validity 10000
然后是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
我已经使用了各种不同的选项,也尝试从Eclipse,导出签名的应用程序......仍然是同样的错误。欢迎任何帮助,谢谢。
答案 0 :(得分:1)
清单必须包含minsdk版本和maxsdkversion
还有另一种注册申请的方式。
右键单击项目 - >选择“Android工具”选项 - > “导出已签名的应用程序包”
在该选择项目中 - >创建新的.keystore文件有效期(年)= 50
稍后使用
安装签名的apk 使用以下命令从设备发出命令提示符
adb install yoursignedapk.apk
此签名的apk将成功安装在您的设备上
答案 1 :(得分:0)
事实上,我使用两个动作解决了这个问题,
使用Java 1.6.0.30 JDK,之前我使用的是1.7,这解决了密钥和签名问题。
在清单中确保我在应用程序标记之前只有android.permission.WRITE_EXTERNAL_STORAGE一次
这是在使用adb logcat命令查看lancher问题之后:
权限拒绝:启动Intent {....}需要 android.permission.WRITE_EXTERNAL_STORAGE