Android12 手动实现apk系统签名
参考命令为:
java -Djava.library.path="../out/soong/host/linux-x86/lib64" -jar ../out/soong/host/linux-x86/framework/signapk.jar ../build/target/product/security/platform.x509.pem ../build/target/product/security/platform.pk8 app-debug.apk app-debug_signed.apk
出现如下错误是库路径-Djava.library.path配置错误:
Exception in thread “main” java.lang.UnsatisfiedLinkError: no conscrypt_openjdk_jni-linux-x86_64 in java.library.path: […/out/host/linux-x86/lib64]
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2660)
at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:829)
at java.base/java.lang.System.loadLibrary(System.java:1867)
at org.conscrypt.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:54)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.conscrypt.NativeLibraryLoader$1.run(NativeLibraryLoader.java:297)
at org.conscrypt.NativeLibraryLoader$1.run(NativeLibraryLoader.java:289)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at org.conscrypt.NativeLibraryLoader.loadLibraryFromHelperClassloader(NativeLibraryLoader.java:289)
at org.conscrypt.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:262)
at org.conscrypt.NativeLibraryLoader.load(NativeLibraryLoader.java:162)
at org.conscrypt.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:106)
at org.conscrypt.NativeCryptoJni.init(NativeCryptoJni.java:50)
at org.conscrypt.NativeCrypto.(NativeCrypto.java:64)
at org.conscrypt.OpenSSLProvider.(OpenSSLProvider.java:60)
at org.conscrypt.OpenSSLProvider.(OpenSSLProvider.java:53)
at org.conscrypt.OpenSSLProvider.(OpenSSLProvider.java:49)
at com.android.signapk.SignApk.main(SignApk.java:1038)
Suppressed: java.lang.UnsatisfiedLinkError: no conscrypt_openjdk_jni-linux-x86_64 in java.library.path: […/out/host/linux-x86/lib64]
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2660)
at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:829)
at java.base/java.lang.System.loadLibrary(System.java:1867)
at org.conscrypt.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:54)
at org.conscrypt.NativeLibraryLoader.loadLibraryFromCurrentClassloader(NativeLibraryLoader.java:318)
at org.conscrypt.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:273)
… 8 more
Suppressed: java.lang.UnsatisfiedLinkError: no conscrypt_openjdk_jni in java.library.path: […/out/host/linux-x86/lib64]
… 21 more
Suppressed: java.lang.UnsatisfiedLinkError: no conscrypt_openjdk_jni in java.library.path: […/out/host/linux-x86/lib64]
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2660)
at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:829)
at java.base/java.lang.System.loadLibrary(System.java:1867)
at org.conscrypt.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:54)
at org.conscrypt.NativeLibraryLoader.loadLibraryFromCurrentClassloader(NativeLibraryLoader.java:318)
at org.conscrypt.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:273)
… 8 more
Suppressed: java.lang.UnsatisfiedLinkError: no conscrypt in java.library.path: […/out/host/linux-x86/lib64]
… 21 more
Suppressed: java.lang.UnsatisfiedLinkError: no conscrypt in java.library.path: […/out/host/linux-x86/lib64]
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2660)
at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:829)
at java.base/java.lang.System.loadLibrary(System.java:1867)
at org.conscrypt.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:54)
at org.conscrypt.NativeLibraryLoader.loadLibraryFromCurrentClassloader(NativeLibraryLoader.java:318)
at org.conscrypt.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:273)
… 8 more