我第一次尝试在我的 Android 项目上使用 ProGuard。
我有几个问题:
对于/libs 文件夹中的 jar 文件,应如何在
proguard-project.txt
中引用它们?-injars/libs/commons-lang3-3.1.jar
- 或
-libraryjars/libs/commons-lang3-3.1.jar
- ?
对于我工作区中的库项目,我是否必须在
proguard-project.txt
中写下一些内容?我收到很多这样的警告:
->
[2013-08-12 14:27:13 - xy.de] Warning: library class android.graphics.drawable.LayerDrawable depends on program class org.xmlpull.v1.XmlPullParser
[2013-08-12 14:27:13 - xy.de] Warning: library class android.graphics.drawable.ShapeDrawable depends on program class org.xmlpull.v1.XmlPullParser
[2013-08-12 14:27:13 - xy.de] Warning: library class android.graphics.drawable.ShapeDrawable depends on program class org.xmlpull.v1.XmlPullParser
[2013-08-12 14:27:13 - xy.de] Warning: library class android.graphics.drawable.StateListDrawable depends on program class org.xmlpull.v1.XmlPullParser
[2013-08-12 14:27:13 - xy.de] Warning: library class android.util.Xml depends on program class org.xmlpull.v1.XmlPullParser
[2013-08-12 14:27:13 - xy.de] Warning: library class android.util.Xml depends on program class org.xmlpull.v1.XmlSerializer
[2013-08-12 14:27:13 - xy.de] Warning: library class android.util.Xml depends on program class org.xmlpull.v1.XmlPullParser
[2013-08-12 14:27:13 - xy.de] Warning: library class android.view.LayoutInflater depends on program class org.xmlpull.v1.XmlPullParser
[2013-08-12 14:27:13 - xy.de] Warning: library class android.view.LayoutInflater depends on program class org.xmlpull.v1.XmlPullParser
这是怎么回事? XmlPullParser 是 Android 框架的一部分,对吗?怎么会少呢?
4..
[2013-08-12 14:27:13 - bauen.de] Warning: there were 42 unresolved references to program class members.
[2013-08-12 14:27:13 - bauen.de] Your input classes appear to be inconsistent.
[2013-08-12 14:27:13 - bauen.de] You may need to recompile them and try again.
[2013-08-12 14:27:13 - bauen.de] Alternatively, you may have to specify the option
[2013-08-12 14:27:13 - bauen.de] '-dontskipnonpubliclibraryclassmembers'.
我真的应该设置-dontskipnonpubliclibraryclassmembers
吗?
proguard-project.txt
中的设置是否有一定的顺序?
最佳答案
您的一个库包含 org.xmlpull.v1 类的副本,即使这些类已存在于 Android 运行时中。您应该从库中删除这些类。无论如何,Android 运行时中的版本都会优先。
CFR。 ProGuard 手册 > 故障排除 > Warning: library class ... depends on program class ...
关于java - Android Proguard - 一步一步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18187163/