在对android APK进行签名的过程中,我碰到过几种不同的问题:

在对android APK进行签名的过程中,我碰到过几种不同的问题:
问题一:jarsigner: 无法打开 jar 文件: ChangeBackgroundWidget.apk
我的解决方法是:将要进行签名的APK放到对应的文件下,如我把要签名的ChangeBackgroundWidget.apk放到JDK的bin文件里。
问题二:jarsigner: 找不到 androidapp.keystore 的证书链。androidapp.keystore 必须引用包含专用密钥和相应的公共密钥证书链的有效密钥库密钥条目。
方法:在用keytool生成数字证书时必须保证:-keystore androidapp.keystore -alias androidapp.keystore 两者名称必须相同。
问题三:jarsigner: 无法对 jar 进行签名: java.util.zip.ZipException: invalid entry comp
ressed size (expected 768 but got 800bytes)
这个问题,我还没解决,在网上搜了下,找到了一种方法,但我实践没完全,所以不知道这个解决方法是否正确:
方法一:Android开发网提示这些问题主要是由于资源文件造成的,对于android开发来说应该检查res文件夹中的文件,逐个排查。这个问题可以通过升级系统的JDK和JRE版本来解决。
方法二:这是因为默认给apk做了debug 签名,所以无法做新的签名这时就必须点工程右键->Android Tools ->Export Unsigned Application Package.
或者从AndroidManifest.xml的 Exporting上也是一样的
然后再基于这个导出的unsigned apk做签名,导出的时候最好将其目录选在你之前产生keystore的那个目录下,这样操作起来就方便了。
PS:各位高手找到可行的解决方法,希望能告诉我下
这个问题看起来是在使用 `jarsigner` 命令对 `pentest.apk` 文件进行签名时遇到了错误。`jarsigner` 是 Java 的一个工具,用于对 Java 存档(JAR)文件进行数字签名,以确保应用程序的真实性、完整性和安全性。当遇到“无法打开 jar 文件”的错误时,通常是因为以下几个原因: 1. 文件路径不正确:检查 `pentest.apk` 文件的路径是否正确,确保 `jarsigner` 命令可以找到并访问该文件。 2. 文件权限问题:确保当前用户对 `pentest.apk` 文件有足够的读取权限。 3. 文件损坏:`pentest.apk` 文件可能已损坏或未正确下载,尝试重新下载或获取文件的另一个副本。 解决这类问题的一些方法如下: 1. 检查文件路径和名称是否完全正确。如果路径或文件名包含空格,请确保使用引号将整个路径括起来。 2. 在命令行使用 `cd` 命令切换到包含 `pentest.apk` 文件的目录,然后运行 `jarsigner` 命令。 3. 如果是权限问题,可以尝试使用 `chmod` 命令修改文件权限,或者使用具有相应权限的用户来执行签名操作。 4. 如果怀疑文件损坏,尝试从源头重新获取文件。 使用 `kail`(假设是指 Kali Linux 的命令行界面)时,确保你已经安装了 OpenJDK 或 Oracle JDK,并且 `jarsigner` 命令已经添加到了系统的 PATH 环境变量,这样你才能在任何目录下直接使用它。 命令的格式可能是这样: ``` jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore path/to/your/keystore.jks -storepass yourpassword pentest.apk youralias ``` 请替换其的参数为你实际使用的 keystore 路径、密码和别名。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值