简体   繁体   English

AndroidX Jetifier Mockito java.lang.SecurityException:com/samsung/android/sdk/accessory/SAAgentV2.class 的 SHA-256 摘要错误

[英]AndroidX Jetifier Mockito java.lang.SecurityException: SHA-256 digest error for com/samsung/android/sdk/accessory/SAAgentV2.class

I am migrating my app to use AndroidX .我正在迁移我的应用程序以使用AndroidX I have enabled Jetifier in my gradle.properties file我在我的 gradle.properties 文件中启用了 Jetifier

android.useAndroidX=true
android.enableJetifier=true

I use mockito in some tests.我在一些测试中使用了 mockito。 After migration a few tests fail where mockito is not able to mock classes which use Samsung accessory sdks version 2.6.1 .迁移后,一些测试失败,mockito 无法模拟使用三星附件 sdks版本 2.6.1 的类。

Part of exception log is as under部分异常日志如下

Caused by: java.lang.SecurityException: SHA-256 digest error for com/samsung/android/sdk/accessory/SAAgentV2.class at sun.security.util.ManifestEntryVerifier.verify(ManifestEntryVerifier.java:218) at java.util.jar.JarVerifier.processEntry(JarVerifier.java:241) at java.util.jar.JarVerifier.update(JarVerifier.java:228) at java.util.jar.JarVerifier$VerifierStream.read(JarVerifier.java:482) at sun.misc.Resource.getBytes(Resource.java:124) at java.net.URLClassLoader.defineClass(URLClassLoader.java:462)原因:java.lang.SecurityException:在 java.util 的 sun.security.util.ManifestEntryVerifier.verify(ManifestEntryVerifier.java:218) 的 com/samsung/android/sdk/accessory/SAAgentV2.class 的 SHA-256 摘要错误。 jar.JarVerifier.processEntry(JarVerifier.java:241) 在 java.util.jar.JarVerifier.update(JarVerifier.java:228) 在 java.util.jar.JarVerifier$VerifierStream.read(JarVerifier.java:482) 在 sun .misc.Resource.getBytes(Resource.java:124) 在 java.net.URLClassLoader.defineClass(URLClassLoader.java:462)

I believe this happens due to a signed jar being edited by jetifier.我相信这是由于 jetifier 正在编辑一个签名的 jar。 What can be done to overcome this issue?可以做些什么来克服这个问题?

Couldn't find any answer for last 3 days, so I just removed META-INF from the samsung accessory jar.过去 3 天找不到任何答案,所以我刚刚从三星配件罐中删除了 META-INF。

jar xvf accessory-2.6.1..jar

rm -rf META-INF

jar cvf accessory-2.6.1-updated..jar *

Now will need to check if the accessory apis are working or not.现在需要检查附件 api 是否正常工作。

In Android Studio preferences, you can turn off Instant Run.在 Android Studio 偏好设置中,您可以关闭 Instant Run。 This seemed to fix the issue for our app's build without any other changes.这似乎解决了我们应用程序构建的问题,无需任何其他更改。 It's in Preferences > Build, Execution, Environment > Instant Run.它位于首选项 > 构建、执行、环境 > 即时运行中。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 jarsigner:更新应用程序时,META-INF / CERT.RSA android错误的java.lang.SecurityException:SHA1摘要错误 - jarsigner: java.lang.SecurityException:SHA1 digest error for META-INF/CERT.RSA android error while updating application Android:java.lang.SecurityException - Android: java.lang.SecurityException android sdk,错误:java.lang.SecurityException:Permission Denial:尝试更改组件状态 - android sdk , error : java.lang.SecurityException: Permission Denial: attempt to change component state 哪个SHA-256是正确的? Java SHA-256摘要或Linux命令行工具 - Which SHA-256 is correct? The Java SHA-256 digest or the Linux commandline tool Java.lang.SecurityException:Android中的安全权限? - Java.lang.SecurityException:SECURE PERMISSION in android? 发生Android java.lang.SecurityException - Android java.lang.SecurityException occured 错误 java.lang.SecurityException:Manifest 主要属性的签名文件摘要无效 - Error java.lang.SecurityException: Invalid signature file digest for Manifest main attributes 无法使用Californium库使用Proguard进行编译:类的SHA-256摘要错误 - Cannot compile with Proguard using Californium library: SHA-256 digest error for class java.lang.SecurityException:权限拒绝错误 - java.lang.SecurityException: Permission Denial ERROR java.lang.SecurityException: - java.lang.SecurityException:
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM