1

我已经使用 Eclipse 3.7 编写了一个 Android 应用程序(目标 3.2),我尝试对应用程序进行签名,但在目标机器上,应用程序无法安装或已安装但未运行,出现“未安装应用程序”错误. 在调试模式下,应用程序可以使用临时证书正常工作。

我用 jarsigner 检查了应用程序,它有CertPath not validated: null错误。

我还将 Manifest 参数设置为可调试和仅测试为 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,导出签名的应用程序......仍然是同样的错误。欢迎任何帮助,谢谢。

4

2 回答 2

1

清单必须包含 minsdk 版本和 maxsdkversion

还有另一种注册应用程序的方法。

右键单击项目->选择“Android工具”选项->“导出签名的应用程序包”

在该选择项目中-> 创建新的 .keystore 文件有效性(年)= 50

稍后通过使用安装该签名的apk

使用以下命令从您的设备发出命令提示符

adb install yoursignedapk.apk

此签名的 apk 将成功安装在您的设备上

于 2012-02-06T10:55:03.223 回答
0

事实上,我用两个动作解决了这个问题,

  1. 借助 Java 1.6.0.30 JDK,我之前使用的是 1.7,这解决了密钥和签名问题。

  2. 确保在清单中我只有 android.permission.WRITE_EXTERNAL_STORAGE 一次,在应用程序标记之前

这是在使用 adb logcat 命令查看 lancher 问题之后:

权限拒绝:启动 Intent {....} 需要 android.permission.WRITE_EXTERNAL_STORAGE

于 2012-02-07T09:24:46.207 回答