标签:android obfuscation proguard android-proguard
我正在优化我的proguard配置,我仍然保留一些非强制性的类名.
经过深入反思,我终于找到了原因.
我的类实现了Parcelable,我使用了一些使用这个proguard配置的库:
# Needed for Parcelable/SafeParcelable Creators to not get stripped
-keepnames class * implements android.os.Parcelable {
public static final ** CREATOR;
}
这似乎保留了类和CREATOR字段的名称.
我认为只需要CREATOR字段,因为可以在官方的proguard-android-optimize.txt proguard文件中读取:
-keepclassmembers class * implements android.os.Parcelable {
public static final ** CREATOR;
}
由于我不是图书馆的所有者,我无法改变它.有没有办法覆盖他们的proguard配置文件? (可能包含在consumerProguardFiles gradle关键字中)
谢谢你的回答.
解决方法:
我终于找到了关于proguard-android-optimize.txt的解决方案.
在AndroidStudio中,您可以访问proguard-android-optimize.txt(在mac上为⌘↑O,或为windows / linux控制shift N).只需复制文件内容,然后将其粘贴到项目中,而不使用要删除的规则.最后将它用作您自己的proguardFiles.
更换
proguardFiles getDefaultProguardFile(‘proguard-android-optimize.txt’), ‘proguard-rules.pro’
同
proguardFiles ‘proguard-android-optimize.txt’, ‘proguard-rules.pro’
请注意,您将面临自己的风险,并且您将无法从最新的嵌入式proguard文件中进行优化.
关于consumerProguardFiles,如果可以,您无权向他们提出拉取请求,或者如果您可以联系图书馆作者,则可以请求进化.
标签:android,obfuscation,proguard,android-proguard 来源: https://codeday.me/bug/20190710/1427941.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。