博文

目前显示的是标签为“APK签名”的博文

命令行使用JKS文件为APK签名

    目前拿到一个机器的Android系统签名,以JKS格式文件提供,要如何对APK签名呢?按如下步骤操作:     jarsigner -verbose -keystore xxx.jks -signedjar xxx_signed.apk xxx_unsigned.apk xxx_alias    其中,xxx.jdk为相应的签名文件,xxx_alias为签名文件里面配置的keystore别名。例如:   jarsigner -verbose -keystore xbh.jks -signedjar Explorer_signed.apk Explorer_unsigned.apk android    执行该命令后,要求输入keystore的密码,输入完后,碰到如下提示:     jarsigner: 无法对 jar 进行签名: java.util.zip.ZipException: invalid entry compressed size (expected 6716 but got 6831 bytes)    查了下资料,是由于APK已有签名了,于是执行如下命令删除到现有签名:     zip -d Explorer_unsigned.apk META-INF/\*    命令执行后有如下提示:    deleting: META-INF/MANIFEST.MF    deleting: META-INF/CERT.SF    deleting: META-INF/CERT.RSA    执行完该命令后,再执行上面的jarsigner命令重新签名即可,此时有如下提示输出:    正在添加: META-INF/MANIFEST.MF    正在添加: META-INF/ANDROID.SF    正在添加: META-INF/ANDROID.RSA    正在签名: ...

Android源码下进行APK签名

  在Android源码下如何对APK手动签名呢?需要如下几个步骤:   1、编译signapk JAR包:     在Android源码目录下执行make signapk命令,即可在out/host/linux-x86/framework/目录下生成signapk.jar文件。   2、对已编译好的普通APK进行签名:     java -jar out/host/linux-x86/framework/signapk.jar build/target/product/security/platform.x509.pem build/target/product/security/platform.pk8 xinu.apk xinu_new.apk     以上都是在Android源码目录下执行,对xinu.apk进行签名,签名后名为xinu_new.apk,其中pem和pk8是签名时要用到的key文件,使用Android源码下的key可在编译出来系统上运行时获取System权限等。   参考网址:   http://www.android123.com.cn/kaifafaq/815.html   http://chroya.iteye.com/blog/803028   http://www.android123.com.cn/androidkaifa/173.html   http://www.91linux.com/html/article/qianrushiyingyong/google_android/20100920/20670.html