我是Android和Android Studio的新手。
在我学习期间,我遇到了Google Play广告服务和所有广告。
我尝试在项目中启用proguard,但请阅读以下链接 proguard 。
问题是我无法在项目结构中找到 proguard-project.txt 或 proguard.cfg ......
相反,我的项目结构中有 proguard-rules.txt ......
如何在项目中找到这些丢失的文件并配置proguard ...
请帮忙 ......
答案 0 :(得分:26)
请改用 proguard-rules.txt 文件。 Proguard没有对其规则输入文件的名称附加任何特殊意义;它使用您的构建文件中设置的任何内容,对于在最新版本的Android Studio中创建的新项目,它是:
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
proguard-android.txt 文件存在于SDK中,并包含所有项目应使用的合理的Android范围默认值。
答案 1 :(得分:23)
当我开始使用 Android Studio
时,我遇到了同样的问题您无法看到ProGuard
文件,因为您正在以非Project file
模式预览项目。其中最有可能是Android
查看模式。
您必须通过单击Android选择的下拉列表来更改模式,然后选择Project Files
以查看项目中的所有文件,如下所示:
然后,您将能够在Android
项目结构视图模式中看到隐藏文件。
ProGuard
答案 2 :(得分:18)
您可以在
中找到 proguard-project.txtC:\Users\"USER"\AppData\Local\Android\android-studio\sdk\tools\proguard
"USER"
是您点击c-drive \ users \ yourname
答案 3 :(得分:9)
以前发布的代码必须根据您的使用情况更正为:
buildTypes {
release {
minifyEnabled true //according to your use
// or
minifyEnabled false //according to your use
// runProguard false ** NOT USED ANYMORE, replaced by minifyEnabled
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
答案 4 :(得分:3)
我在使用Android Studio的Windows机器上的任何地方都找不到这个proguard-rules.txt。但我找到了一个LayoutExample \ app \ proguard-rules.pro文件。这可能是因为我从Eclipse导入了我的项目,所以Android Studio没有自动创建一个。所以我做的是:
1 - 将示例项目中的proguard-rules.pro复制到我的项目的build.gradle文件夹中(您可以在计算机上搜索此文件或创建一个空项目)
2 - 编辑build.gradle中的代码以使用此文件而不是proguard-rules.txt,例如
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
}
答案 5 :(得分:1)
proguard-rules.txt (在Windows上也应该类似)
$ locate proguard-rules.txt
在我的机器上输出为:
/Applications/Android Studio.app/Contents/plugins/android/lib/templates/gradle-projects/AndroidWearModule/root/proguard-rules.txt.ftl
/Applications/Android Studio.app/Contents/plugins/android/lib/templates/gradle-projects/NewAndroidModule/root/proguard-rules.txt.ftl
/Applications/Android Studio.app/Contents/plugins/android/lib/templates/gradle-projects/NewAndroidTVModule/root/proguard-rules.txt.ftl
/Applications/Android Studio.app/Contents/plugins/android/lib/templates/gradle-projects/NewGlassModule/root/proguard-rules.txt.ftl
您可以通过删除超出txt的额外扩展名来放置此文件。这是它的样子,所以你可以创建自己的并放置在你的android项目中。
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in ${sdkDir}/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# Add any project specific keep options here:
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
答案 6 :(得分:0)
更新android studio后,我遇到了同样的问题,我无法将项目导入到新版本。 更改gradle构建文件。
buildTypes {
release {
minifyEnabled false *//change to this not runProguard false*
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}