我遇到了错误
Error:Execution failed for task ':app:transformClassesAndResourcesWithProguardForDebug'. Job failed, see logs for details
我收到很多警告,比如
Warning:es.usc.citius.hipster.util.examples.maze.MazeSearch$Result: can't find referenced class java.awt.Point
这对我来说看起来很奇怪,因为我在我的 proguard-rules 中添加了这条规则
-keep public class es.usc.citius.hipster.** { *; }
[编辑] 我也收到类似
的警告Warning:com.mypackage.android.dagger.modules.AppModule_ProvideAccelerometerSensorFactory: can't find superclass or interface dagger.internal.Factory
我添加了 Dagger 规则
-dontwarn dagger.internal.codegen.**
-keepclassmembers,allowobfuscation class * {
@javax.inject.* *;
@dagger.* *;
<init>();
}
-keep class dagger.* { *; }
-keep class javax.inject.* { *; }
-keep class * extends dagger.internal.Binding
-keep class * extends dagger.internal.ModuleAdapter
-keep class * extends dagger.internal.StaticInjection
和保留我的包裹的规则
-keep public class com.mypackage.android.** { *; }
在关于忽略警告的回答之后,我添加了这条规则
-dontwarn com.mypackage.android.**
而且混淆器现在不会失败。但是,我不确定这是否是最佳做法,以及忽略这些警告后会出现什么问题?
最佳答案
库类 es.usc.citius.hipster.util.examples.maze.MazeSearch
引用了一个包 java.awt.Point
,它是 JDK 的一部分但不是Android JDK,不包含此包。
你只是不能在 Android 环境中使用它。
关于android - Proguard 给了我很多警告但失败了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44129935/