有時候apk須要一些系統權限,咱們能拿到系統的簽名文件就能夠java
一、在Manifest.xml裏添加android
android:sharedUserId="android.uid.system"
二、使用系統簽名工具,簽名文件來簽名apkide
java -jar signapk.jar platform.pk8 platform.x509.pem test.apk test_sign.apk工具
這樣簽名過的文件test_sign.apk就具備了系統權限ui
記錄一個低級錯誤,簽名的時候,一直報錯,百思不解orm
java.security.cert.CertificateParsingException: signed fields invalid
at sun.security.x509.X509CertImpl.parse(X509CertImpl.java:1718)
at sun.security.x509.X509CertImpl.<init>(X509CertImpl.java:177)
at sun.security.provider.X509Factory.engineGenerateCertificate(X509Factory.java:90)
at java.security.cert.CertificateFactory.generateCertificate(CertificateFactory.java:305)
at com.android.signapk.SignApk.readPublicKey(SignApk.java:143)
at com.android.signapk.SignApk.main(SignApk.java:744)xml
最後發現,原來是platform.pk8跟platform.x509.pem順序反了。it
寫成了使用java -jar signapk.jar platform.pk8 platform.x509.pem test.apk test_sign.apk命令下失敗io