系统签名方法:
java -Xmx2048m -Djava.library.path=. -jar signapk.jar platform.x509.pem platform.pk8 old.apk new.apk
使用这个方法签名的时候有可能出现下图的一些问题:
解决方法:
1.首先要确保signapk.jar , platform.x509.pem , platform.pk8 这三个文件来必须来源于同一份源码(重要),如果使用了不同源码的文件,有可能导致各种问题;signapk.jar包可以在源码的/out/host/linux-x86/framework/signapk.jar或是./prebuilts/sdk/tools/lib/signapk.jar找到;platform.x509.pem , platform.pk8 位于源码的/build/target/product/security;将这三个文件拉出来,放在同一个文件内.
2.找到/out/host/linux-x86/lib64目录下的文件,将他们复制到上面那三个文件的目录里
3.使用这三个指令配置环境:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
确保/usr/lib/jvm/java-8-openjdk-amd64路径是对的
查看手机系统的签名信息:
可以把手机系统的system/framework/framework-res.apk拉出来,这个需要有root权限,然后把framework-res.apk解压出来,
通过keytool -printcert -file framework-res/META-INF/CERT.RSA 命令查看签名信息
查看key的签名信息方法有两种:
第一种:
keytool -list -v -keystore [/路径/key]
第二种,但是这个方法只能查看开发版的签名信息
可以直接通过Android studio获取
Facebook的获取方式不一样:
keytool -exportcert -alias [key] -keystore [key的路径] | openssl sha1 -binary | openssl base64