在android studio中找不到proguard-project.txt

时间:2014-04-18 07:24:24

标签: android android-studio proguard

我是Android和Android Studio的新手。

在我学习期间,我遇到了Google Play广告服务和所有广告。

我尝试在项目中启用proguard,但请阅读以下链接 proguard

问题是我无法在项目结构中找到 proguard-project.txt proguard.cfg ......

相反,我的项目结构中有 proguard-rules.txt ......

如何在项目中找到这些丢失的文件并配置proguard ...

请帮忙 ......

7 个答案:

答案 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查看模式。

enter image description here

您必须通过单击Android选择的下拉列表来更改模式,然后选择Project Files以查看项目中的所有文件,如下所示:

enter image description here

然后,您将能够在Android项目结构视图模式中看到隐藏文件。

enter image description here

ProGuard

这是一个很好的example

答案 2 :(得分:18)

您可以在

中找到 proguard-project.txt
C:\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
    }
}
  1. 同步gradle,然后构建>建立APK。为我工作得很好。

答案 5 :(得分:1)

在OS X上使用terminal命令可以找到

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'
    }
}