김재형*_*김재형 31 android proguard gradle
我正在使用Android Studio 1.2.2并尝试使用proguard设置生成APK.但我不能这样做,并得到以下错误信息.
"任务执行失败':packageRelease'.
无法计算/Users/Documents/projectX/app/build/intermediates/classes-proguard/release/classes.jar的哈希值"
proguard设置很简单.
-dontshrink
-dontoptimize
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
Run Code Online (Sandbox Code Playgroud)
gradle文件在下面.
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
android {
compileSdkVersion "Google Inc.:Google APIs:22"
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.bientus.cirque.sansotong"
minSdkVersion 15
targetSdkVersion 22
versionCode 1
versionName "1.0"
// multiDexEnabled true
}
buildTypes {
debug {
debuggable true
}
release {
minifyEnabled true
//proguardFiles 'proguard-project.txt', 'proguard.cfg'
//proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt', 'proguard.cfg'
proguardFiles 'proguard-project.txt'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.0.0'
compile "com.google.android.gms:play-services:7.5.0"
// compile 'com.android.support:multidex:1.0.0'
}
buildscript {
repositories {
// mavenCentral()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.2.3'
classpath 'com.google.gms:google-services:1.3.0-beta1'
}
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以提出任何想法或想法吗?非常感谢你!
Art*_*miy 16
只需添加项目的proguard规则:
-keep public class com.google.android.gms.**
-dontwarn com.google.android.gms.**
Run Code Online (Sandbox Code Playgroud)
김재형*_*김재형 10
它在'proguard-project.txt'中设置以下后工作.显然应该为此文件设置gradle.
-dontwarn android.support.v7.**
-keep class android.support.v7.** { *; }
-keep interface android.support.v7.** { *; }
Run Code Online (Sandbox Code Playgroud)
看看你的构建输出。你可能在那里有 proguard 警告,比如你有 2 个共享某个类的库(具有潜在的不同版本)。
这可能会阻止 proguard 计算哈希。
在我的构建中同时使用 openIAB 和 opfIAB(均使用 Amazon 和 google IAB)时,我遇到了同样的问题。删除这些库之一解决了我的问题
| 归档时间: |
|
| 查看次数: |
19358 次 |
| 最近记录: |