2

---已解决:从 :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' 错误。

- 解决了 -

将parseUI 库从 v3升级到 v4 进行得很顺利,直到我尝试在 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]))

我检查了 proguard 常见问题解答中的“dupe zip”......我试图弄清楚依赖关系树如何处理该库中的./libs/Parse-1.9.1.jar的重复。

即时消息卡住

构建.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.**
4

0 回答 0