---解決済み : :app:build.gradle から 2 行を削除 ---
compile files('ParseLoginUI/libs/Parse-1.9.1.jar')
compile files('ParseLoginUI/libs/ParseFacebookUtilsV4-1.9.1.jar')
ここのlibコメントは、「proj.root.build.gradleにこれら2つのステートメントが必要です。そうではありません。proguardから「dupe zip」エラーが発生しないように、これらを削除する必要がありました。
--解決済み--
v3からv4へのparseUIライブラリのアップグレードは、 gradleの「assembleRelease」タスク内でproguardを実行しようとするまでうまくいきました。
エラー:
:proguardRelease に失敗しました
FAILURE: ビルドは例外で失敗しました。
* What went wrong:
Execution failed for task ':proguardRelease'.
> java.io.IOException: Can't write [/home/rob/src/CastVideos-android/build/intermediates/classes-proguard/release/classes.jar]
(Can't read [/home/rob/src/CastVideos-android/build/intermediates/exploded-aar/CastVideos-android/ParseLoginUI/unspecified/libs/Parse-1.9.1.jar(;;;;;;!META-INF/MANIFEST.MF)] (Duplicate zip entry [Parse-1.9.1.jar:com/parse/AnonymousAuthenticationProvider.class]))
「dupe zip」のプロガードのよくある質問を確認しました...依存関係ツリーがそのライブラリで./libs/Parse-1.9.1.jarの複製をどのように処理しているかを理解しようとしました。
IM が動かなくなった
build.gradle...
packagingOptions {
exclude 'META-INF/LGPL2.1'
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
exclude 'META-INF/MANIFEST'
...
buildTypes {
release {
minifyEnabled true
proguardFile 'proguard-android-optimize.txt'
signingConfig signingConfigs.release
}
...
dependencies {
compile files('libs/android-query.0.25.10.jar')
compile files('libs/jackson-core-lgpl-1.9.2.jar')
compile files('libs/jackson-mapper-lgpl-1.9.2.jar')
compile 'com.github.amlcurran.showcaseview:library:5.0.0'
compile group: 'org.apache.httpcomponents' , name: 'httpclient-android' , version: '4.3.5'
// to get around https://code.google.com/p/android/issues/detail?id=52962, we need to
// depend on both debug and release versions of the library
releaseCompile project(path: '..:CastCompanionLibrary-android', configuration: 'release')
debugCompile project(path: '..:CastCompanionLibrary-android', configuration: 'debug')
compile project(':ParseLoginUI')
compile files('ParseLoginUI/libs/Parse-1.9.1.jar')
compile files('ParseLoginUI/libs/ParseFacebookUtilsV4-1.9.1.jar')
compile 'com.facebook.android:facebook-android-sdk:4.0.1'
}
「リリース」の依存グラフ...
...
+--- project :ParseLoginUI
| +--- com.parse.bolts:bolts-android:1.2.0
| \--- com.android.support:support-v4:22.0.0
| \--- com.android.support:support-annotations:22.0.0
+--- com.facebook.android:facebook-android-sdk:4.0.1
| +--- com.android.support:support-v4:[21,22) -> 22.0.0 (*)
| \--- com.parse.bolts:bolts-android:1.1.4 -> 1.2.0
\--- project :..:CastCompanionLibrary-android
+--- com.android.support:appcompat-v7:22.+ -> 22.0.0
| \--- com.android.support:support-v4:22.0.0 (*)
+--- com.android.support:mediarouter-v7:22.+ -> 22.0.0
| \--- com.android.support:appcompat-v7:22.0.0 (*)
\--- com.google.android.gms:play-services-cast:7.+ -> 7.0.0
\--- com.google.android.gms:play-services-base:7.0.0
\--- com.android.support:support-v4:22.0.0 (*)
project.root の下にあるのは、次の jar ファイルのみです。
./ParseLoginUI/libs/ParseFacebookUtilsV4-1.9.1.jar
./ParseLoginUI/libs/Parse-1.9.1.jar
プロガード構成...
-keep class com.facebook.** { *; }
-keep class com.parse.** { *; }
-dontwarn com.parse.**
-dontnote com.parse.**