1.Android 7.1之前,系统签名如下:

 java -jar signapk.jar platform.x509.pem platform.pk8 source.apk target.apk

2.Android 7.1及以后,系统签名会出错:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no conscrypt_openjdk_jni in java.library.path
        at java.lang.ClassLoader.loadLibrary(Unknown Source)
        at java.lang.Runtime.loadLibrary0(Unknown Source)
        at java.lang.System.loadLibrary(Unknown Source)
        at org.conscrypt.NativeCryptoJni.init(NativeCryptoJni.java:25)
        at org.conscrypt.NativeCrypto.<clinit>(NativeCrypto.java:54)
        at org.conscrypt.OpenSSLBIOInputStream.<init>(OpenSSLBIOInputStream.java:34)
        at org.conscrypt.OpenSSLX509Certificate.fromX509PemInputStream(OpenSSLX509Certificate.java:119)
        at org.conscrypt.OpenSSLX509CertificateFactory$1.fromX509PemInputStream(OpenSSLX509CertificateFactory.java:220)
        at org.conscrypt.OpenSSLX509CertificateFactory$1.fromX509PemInputStream(OpenSSLX509CertificateFactory.java:216)
        at org.conscrypt.OpenSSLX509CertificateFactory$Parser.generateItem(OpenSSLX509CertificateFactory.java:94)
        at org.conscrypt.OpenSSLX509CertificateFactory.engineGenerateCertificate(OpenSSLX509CertificateFactory.java:272)
        at java.security.cert.CertificateFactory.generateCertificate(Unknown Source)
        at com.android.signapk.SignApk.readPublicKey(SignApk.java:182)
        at com.android.signapk.SignApk.main(SignApk.java:1087)

3.Linux系统

    找打prebuilts/sdk/tools/linux/lib64/libconscrypt_openjdk_jni.so,

    文件夹命名为sign,将platform.x509.pem ,platform.pk8,signapk.jar,libconscrypt_openjdk_jni.so,放到一起,

    在linux系统里执行:

    java -Djava.library.path=. -jar signapk.jar platform.x509.pem platform.pk8 source.apk target.apk

 

 

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐