AndroidX Jetifier Mockito java.lang.SecurityException: ошибка дайджеста SHA-256 для com / samsung / android / sdk / accessory / SAAgentV2.class - PullRequest
0 голосов
/ 09 ноября 2018

Я перевожу свое приложение для использования AndroidX . Я включил Jetifier в моем файле gradle.properties

android.useAndroidX=true
android.enableJetifier=true

Я использую мокито в некоторых тестах. После переноса несколько тестов не пройдены, и mockito не может имитировать классы, которые используют аксессуар Samsung sdks версия 2.6.1.

Часть журнала исключений такая же, как в

Причина: java.lang.SecurityException: ошибка дайджеста SHA-256 для ru / samsung / android / sdk / accessory / SAAgentV2.class at sun.security.util.ManifestEntryVerifier.verify (ManifestEntryVerifier.java:218) в java.util.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)

Я полагаю, это происходит из-за того, что jtifier отредактировал подписанную банку. Что можно сделать, чтобы преодолеть эту проблему?

Ответы [ 2 ]

0 голосов
/ 29 апреля 2019

В настройках Android Studio вы можете отключить Instant Run.Похоже, это решило проблему для сборки нашего приложения без каких-либо других изменений.Это в Настройки> Сборка, Выполнение, Среда> Мгновенный запуск.

0 голосов
/ 12 ноября 2018

Не удалось найти ответ за последние 3 дня, поэтому я просто удалил META-INF из банки с аксессуарами Samsung.

jar xvf accessory-2.6.1..jar

rm -rf META-INF

jar cvf accessory-2.6.1-updated..jar *

Теперь нужно будет проверить, работает ли аксессуар apis.

...