我尝试使用自定义proguard文件从代码中删除所有Log的方法调用以进行发布构建。所以我写了我的自定义proguard文件(从网上拿走):
proguard-rules-release.txt
-assumenosideeffects class android.util.Log {
public static boolean isLoggable(java.lang.String, int);
public static int v(...);
public static int i(...);
public static int w(...);
public static int d(...);
public static int e(...);
}
在build.grade
:
android {
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.txt', 'proguard-rules-release.txt'
}
}
}
但是当我在*.class
中通过反编译器阅读Android Studio中的~/app/build/intermediates/classes/release
文件时,我发现它包含所有调用以及没有proguard文件。
我做错了什么?
ADDED
我甚至反编译了apk文件。现在,我确定我的proguard文件不起作用。
我重写了build.gradle
所以:
release {
minifyEnabled false
zipAlignEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),
'proguard-rules.pro'
}
并在反编译后生成签名的apk文件...但它都具有日志输出。我什么都不懂......
答案 0 :(得分:1)
我发现我做错了。 Imma noobie。答案在我的帖子中......
minifyEnabled false
此选项启用|禁用对proguard文件的支持。
也许有人会有同样的问题。