AAR имеет заполнитель, когда его запутывает ProGuard, что приводит к сбою - PullRequest
0 голосов
/ 27 ноября 2018

Проект библиотеки Android, среда:

apply plugin: 'com.android.library'
classpath 'com.android.tools.build:gradle:3.2.1'
Gradle 4.9

AndroidManifest.xml

        <activity
        android:name="${applicationId}.PayloadActivity" />

Когда я использую ProGuard, чтобы запутать код:

Caused by: proguard.ParseException: Expecting class member name before '}' in line 2 of file 'Y:\project\build\intermediates\proguard-rules\release\aapt_rules.txt'
    at proguard.ConfigurationParser.checkJavaIdentifier(ConfigurationParser.java:1486)
    at proguard.ConfigurationParser.checkJavaIdentifier(ConfigurationParser.java:1472)
    at proguard.ConfigurationParser.parseMemberSpecificationArguments(ConfigurationParser.java:1049)
    at proguard.ConfigurationParser.parseClassSpecificationArguments(ConfigurationParser.java:876)
    at proguard.ConfigurationParser.parseKeepClassSpecificationArguments(ConfigurationParser.java:659)
    at proguard.ConfigurationParser.parseKeepClassSpecificationArguments(ConfigurationParser.java:588)
    at proguard.ConfigurationParser.parse(ConfigurationParser.java:165)
    at com.android.build.gradle.internal.transforms.BaseProguardAction.applyConfigurationFile(BaseProguardAction.java:145)
    at com.android.build.gradle.internal.transforms.ProGuardTransform.doMinification(ProGuardTransform.java:254)
    ... 5 more

build \промежуточные звенья \ proguard-rules \ release \ aapt_rules.txt:

# Generated by the gradle plugin
-keep class ${applicationId}.PayloadActivity { <init>(...); }

Ошибка не удалась, поскольку при компиляции в AAR не было присвоения заполнителя.Хотя путаница может быть отложена до тех пор, пока она не будет скомпилирована в APK.Тем не менее, из-за этой части контента, я не хочу, чтобы пользователи APK видели такую ​​простую декомпиляцию.Можно ли запутаться при компиляции AAR?

1 Ответ

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

Просто удалите

<activity android:name="${applicationId}.PayloadActivity" />

из вашего manifest.xml файла.

...