刚进公司的时候,固件中app需要用源代码编译,不太理解。 为什么不在IDE中编译? 然后复制到/system/app/*,咨询导师,得到反馈后在AndroidManifest.xml上声明app需要使用系统的权限。
随着工作时间的延长,apk签名机制逐渐被理解,为了解决上述问题,出现了两种解决方案:
个别签名解决方案
找到平台签名文件" platform.pk8 "和" platform.x509.pem "
文件位置Android/build/target/product/security /
签名工具" signapk.jar "
位置: Android/pre built s/SDK/tools/lib
签名证书“platform.pk8”“platform.x509.PEM”和签名工具“signapk.jar”放在同一文件夹中;
执行命令
Java-jarsignapk.jar platform.x509.PEM platform.pk8 demo.apksigneddemo.apk
或在Ubuntu编译环境中直接运行
jva-jarout/host/Linux-x86/framework/sign apk.jar build/target/product/security/platform.x509.PEM build
将源平台生成证书platform.keystore添加到IDE中
生成平台platform.keystore文件:
编译平台签名文件" platform.pk8 "和" platform.x509.pem "
文件位置: Android/build /目标/产品/安全/
将pkcs8格式的私钥转换为pkcs12格式:
OpenSSL pkcs8- in platform.pk8-inform der-outform PEM-out shared.priv.PEM-nocrypt
将x509.pem公钥转换为pkcs12格式:
OpenSSL pkcs12-export-in platform.x509.PEM-inkey shared.priv.PEM-out shared.pk12-nameandroidebugkey
密码都是安卓
生成platform.keystore
keytool-import keystore-deststorepassandroid-destkeypassandroid-destkeystoreplatform.keystore-srckeystoreshared.PP
Eclipse添加证书
将生成的platform.keystore导入到eclipse中,并在eclipse中的windows/preferences/Android/build中刚才生成了“自定义调试密钥”的platform
调试apk时,直接单击Debug As — Android Application,用系统签名对该apk进行了签名
安卓studio添加证书
image.png
image.png