Rik*_*avi 9 java android proguard
我正在使用Android Studio v.1.0我的构建文件:
buildTypes {
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我尝试发布版本时,我收到一个错误:错误:任务':app:proguardRelease'的执行失败.
java.io.FileNotFoundException:F:....\app\proguard-rules.pro(找不到文件)
我想,proguard-android.txt是Android SDK的一部分,对吗?
为什么Android Studio找不到它?
我也试过proguard-android.pro - 结果相同
如果您不需要任何特定的ProGuard配置:
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt')
}
}
Run Code Online (Sandbox Code Playgroud)
(警告可能发生)
或者指定"规则"并将其放在此处:
.../app/proguard-rules.pro
Run Code Online (Sandbox Code Playgroud)
例如,我使用"Butter Knife"和我的proguard-rules.pro看起来像:
-keep class butterknife.** { *; }
-dontwarn butterknife.internal.**
-keep class **$$ViewInjector { *; }
-keepclasseswithmembernames class * {
@butterknife.* <fields>;
}
-keepclasseswithmembernames class * {
@butterknife.* <methods>;
}
Run Code Online (Sandbox Code Playgroud)
或者,您可以保留build.gradle文件(如果您不喜欢警告)),并将空的proguard-rules.pro放到该位置.
我创建了自己的 proguard-android.pro 文件,它对我来说工作正常:
-dontwarn org.apache.commons.**
-dontwarn com.google.**
-dontwarn com.j256.ormlite**
-dontwarn org.apache.http**
-keepattributes SourceFile,LineNumberTable
-keep class com.j256.**
-keepclassmembers class com.j256.** { *; }
-keep enum com.j256.**
-keepclassmembers enum com.j256.** { *; }
-keep interface com.j256.**
-keepclassmembers interface com.j256.** { *; }
-keepattributes Signature
# GSON Library
# For using GSON @Expose annotation
-keepattributes *Annotation*
# Gson specific classes
-keep class sun.misc.Unsafe { *; }
#-keep class com.google.gson.stream.** { *; }
# Application classes that will be serialized/deserialized over Gson
-keep class com.google.gson.examples.android.model.** { *; }
# Google Map
-keep class com.google.android.gms.maps.** { *; }
-keep interface com.google.android.gms.maps.** { *; }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18079 次 |
| 最近记录: |