我是Android和Android Studio的新手。
在我学习期间,我遇到了Google Play广告服务和所有广告。
我试图在我的项目中启用proguard但是阅读下面的链接proguard。
问题是我无法在项目结构中找到proguard-project.txt或proguard.cfg ...
相反,我的项目结构中有一个proguard-rules.txt ...
如何找到这些丢失的文件并在我的项目中配置proguard ...
请帮忙...
请改用proguard-rules.txt文件。 Proguard对其规则输入文件的名称没有任何特殊意义;它使用构建文件中设置的任何内容,对于在最新版本的Android Studio中创建的新项目,它是:
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
proguard-android.txt文件存在于SDK中,并包含所有项目应使用的合理的Android范围默认值。
我开始使用Android Studio时遇到了同样的问题
您无法看到ProGuard
文件,因为您正在以非Project file
模式预览项目。其中最有可能是Android
查看模式。
您必须通过单击Android选择的下拉列表来更改模式,然后选择Project Files
以查看项目中的所有文件,如下所示:
然后,您将能够在Android
项目结构视图模式中查看隐藏文件。
这是example的一个很好的ProGuard
你可以在里面找到proguard-project.txt
C:\Users\"USER"\AppData\Local\Android\android-studio\sdk\tools\proguard
"USER"
是您在单击c-drive \ users \ yourname时将看到的名称
之前发布的代码必须根据您的使用情况更正为以下内容:
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'
}
}
我在使用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
}
}
proguard-rules.txt可以在OS X上使用terminal命令找到(在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 *;
#}
更新android studio后我遇到了同样的问题,我无法将我的项目导入新版本。更改gradle构建文件。
buildTypes {
release {
minifyEnabled false *//change to this not runProguard false*
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}