Неразрешенное имя класса proguard-rules Android Studio 4.0 - PullRequest
39 голосов
/ 29 мая 2020

Когда я обновляюсь до Android Proguard-rules Studio 4.0, появляется предупреждение Unresolved class name. Ниже приведен пример, но я уверен, что он все еще предупреждает о существующем классе в моем проекте.

-keep class com.squareup.haha.** { *; }
-keep class com.squareup.leakcanary.** { *; }

Если я перейду с ** на *, это предупреждение исчезнет.

-keep class com.squareup.haha.* { *; }
-keep class com.squareup.leakcanary.* { *; }

Кто-нибудь понимает это? Следует ли мне игнорировать это предупреждение или это ошибка Android Studio 4.0?

Обновление

Я считаю, что это ошибка, она уже назначена, но не устранена https://issuetracker.google.com/issues/153616200

Обновление в июле

Команда Google уже проанализировала и увеличила априорность этой ошибки, она может быть связана с более новой версией R8.

Обновление за август

Исправлено в AS 4.2 Canary 9

Ответы [ 3 ]

9 голосов
/ 29 мая 2020

Проверьте эту проблему: https://issuetracker.google.com/issues/147802433

`Если щелкнуть правой кнопкой мыши по ошибке, появится опция« подавить для оператора », после чего AS добавляет комментарий, например как:

noinspection ShrinkerUnresolvedReference

-keep class not.existing

И с этим комментарием нет ошибки для «not.existing». `

enter image description here

1 голос
/ 10 августа 2020

Папка и ее подфайл. Я тестировал это:

com.xx.xx.* { *; }   

Я предполагаю, что он может содержать несколько папок и подфайлов. Я не тестировал это:

com.xx.xx.**.* {*;}   
0 голосов
/ 18 июня 2020

заменить

.**

на

.*.*

результат

-keep class com.squareup.haha.*.* { *; }
-keep class com.squareup.leakcanary.*.* { *; }
...