AndroidStudio 2.2 构建 gradle 错误(自定义 proguard 文件的路径)
Posted
技术标签:
【中文标题】AndroidStudio 2.2 构建 gradle 错误(自定义 proguard 文件的路径)【英文标题】:AndroidStudio 2.2 build gradle error ( path to custom proguard file ) 【发布时间】:2017-02-17 04:07:35 【问题描述】:以前安装的androidStuio
版本是:2.1.3
但更新到2.2
并更新gradle 后,由于proguard 名称,构建gradle 出现问题。
之前,对于发布 .Apk
,我使用自定义 proguard 配置以这种方式:
buildTypes
release
minifyEnabled true
proguardFiles getDefaultProguardFile('fileName.txt')
但在将AndroidStudio 2.1.3
更新为2.2
后出现此错误:
Error:(17, 0) User supplied default proguard base extension name is unsupported.
Valid values are: [proguard-android.txt, proguard-android-optimize.txt]
Open File
请注意:更新从以前版本导入的设置和配置文件后,SDK
文件夹路径未更改
老办法! 不幸的是,最后,我不得不使用旧版本的 AndroidStudio(2.1.3) 和 这项工作但不是 AndroidStudio 2.2 的解决方案
【问题讨论】:
尝试更改minifyEnabled false
-> 清理项目 -> 重建项目。让我知道这是否可行。
@SouravChandra ,清理 + 无效缓存并重新启动,但不起作用!
你能不能换成proguardFiles getDefaultProguardFile('filename.txt'), 'proguard-rules.pro'
也可以试试proguardFile getDefaultProguardFile('fileName.txt')
【参考方案1】:
方式一:
经过几次测试,我发现我应该将完整路径设置为proguard file
,如下配置:
在 build.gradle(module:app) 中:
buildTypes
release
minifyEnabled true
proguardFile ('FullPath/.../configFileName.txt')
,路径前不用getDefaultProguardFile
。
您也可以将config file
粘贴到...\appName\app
并将proguardFile
更改为:
proguardFile ('configFileName.txt')
实际上,默认路径是.../appName/app
,如果你只输入configFileName
,这将在默认项目路径中搜索文件名。
在以前的版本中我没有这个问题,default gradle path
是...\SDK\tools\proguard
更新
方式 2:
在下图和第 4 步中,您可以浏览并选择 ProguardFile
以获得 debug
或 release
并且在build.gradle(module:app)
文件中,ProguardFile
路径会自动添加
【讨论】:
【参考方案2】:尝试如下更改
buildTypes
release
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt') fileName.txt // or file('path_to_file/fileName.txt')
猜测它支持 proguard-android.txt 或 proguard-android-optimize.txt 作为默认的 proguard 文件,如消息中所述。 proguard-android.txt 在我的例子中位于 ~/Library/Android/sdk/tools/proguard 。 我认为 android studio 检索该文件。或者您可以在项目文件夹中制作 proguard-android.txt 并在 getDefaultProguardFile 参数中添加路径(虽然我没有尝试过)。 之后,您可以像上面的代码一样添加额外的 proguard 文件。
【讨论】:
以上是关于AndroidStudio 2.2 构建 gradle 错误(自定义 proguard 文件的路径)的主要内容,如果未能解决你的问题,请参考以下文章
Gradle 构建错误(Android Studio 2.2.2)
Android Studio 2.2 Preview 缺少所有屏幕尺寸