【发布时间】:2018-11-20 08:38:43
【问题描述】:
我使用 DexGuard,在发布模式下构建项目:
proguardFile getDefaultDexGuardFile('dexguard-library-release-aggressive.pro')
一切都很好,但现在我需要阻止另一个类加密,我添加了几行不加密我的 ExampleBuilder:
-verbose
# do not encrypt API package
-keep public class com.justexample.api** {
public protected private *;
}
#these 3 lines below I added
-keep public class com.justexample.ExampleBuilder.** {
public protected private static *;
}
-repackageclasses com.justexample
现在当我尝试使用库时出现错误:
error: attribute 'android:name' in <service> tag must be a valid Java class name.
Message{kind=ERROR, text=error: attribute 'android:name' in <service> tag must be a valid Java class name.
生成的清单(来自受 dexguard 影响的 AAR)是此错误的来源,错误所在的片段:
<service
android:name="com.justexample.services.゚"
android:exported="false" />
【问题讨论】: