Android Studio 1.2.2を使用して、proguard設定でAPKを生成しようとしました。しかし、それを実行できず、エラーメッセージの下に表示されました。
「タスク ':packageRelease'の実行に失敗しました。
/Users/Documents/projectX/app/build/intermediates/classes-proguard/release/classes.jarのハッシュを計算できません "
プロガードの設定は簡単です。
-dontshrink
-dontoptimize
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
そして、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'
}
}
誰でもアイデアや考えを与えることができますか?どうもありがとうございました!
プロジェクトのプロガードルールに追加するだけです。
-keep public class com.google.Android.gms.**
-dontwarn com.google.Android.gms.**
「proguard-project.txt」で以下を設定した後、機能しました。明らかに、このファイルにグラドルを設定する必要があります。
-dontwarn Android.support.v7.**
-keep class Android.support.v7.** { *; }
-keep interface Android.support.v7.** { *; }
ビルド出力を見てください。いくつかのクラスを共有する2つのライブラリ(潜在的に異なるバージョン)がある場合のように、そこにプロガード警告があるかもしれません。
これにより、プロガードがハッシュを計算できなくなる可能性があります。
ビルドにopenIABとopfIAB(両方ともAmazonとGoogle IABを使用)の両方を使用しているときに同じ問題が発生しました。これらのライブラリのいずれかを削除すると、問題が解決しました
OK!それは超簡単 !順を追って次の手順に従ってください:build.gradle:minifyEnabled false-> minifyEnabled true proguard-rules.pro:Android studio、このファイルを拒否します。
-dontwarn Android.support.**
-dontwarn com.github.**
-dontwarn com.squareup.picasso.**
-dontwarn com.etsy.Android.grid.**
できます :)
私にも問題があり、それを解決する最良の方法は次のとおりです。
警告:com.squareup.picasso.OkHttpDownloader:参照クラスcom.squareup.okhttp.OkHttpClientが見つかりません
次に、プロガードルールファイルを開き、一番下までスクロールして次の行を追加します。
-dontwarn com.squareup.okhttp.**
Gradleコンソールで見つかった不足しているクラスについては、基本的に次の行を追加します
-dontwarn followed by class name
これがすべての人にも役立つことを願っています。がんばろう!