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

问题描述 投票:28回答:7

我是Android和Android Studio的新手。

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

我试图在我的项目中启用proguard但是阅读下面的链接proguard

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

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

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

请帮忙...

android android-studio proguard
7个回答
26
投票

请改用proguard-rules.txt文件。 Proguard对其规则输入文件的名称没有任何特殊意义;它使用构建文件中设置的任何内容,对于在最新版本的Android Studio中创建的新项目,它是:

buildTypes {
     release {
         runProguard false
         proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
     }
 }

proguard-android.txt文件存在于SDK中,并包含所有项目应使用的合理的Android范围默认值。


23
投票

我开始使用Android Studio时遇到了同样的问题

您无法看到ProGuard文件,因为您正在以非Project file模式预览项目。其中最有可能是Android查看模式。

enter image description here

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

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

这是example的一个很好的ProGuard


18
投票

你可以在里面找到proguard-project.txt

C:\Users\"USER"\AppData\Local\Android\android-studio\sdk\tools\proguard

"USER"是您在单击c-drive \ users \ yourname时将看到的名称


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

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,然后Build> Build APK。为我工作得很好。

1
投票

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 *;
#}

0
投票

更新android studio后我遇到了同样的问题,我无法将我的项目导入新版本。更改gradle构建文件。

buildTypes {
    release {
        minifyEnabled false *//change to this not runProguard false*
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.