更新Android Studio后签名失败

时间:2016-05-30 08:07:14

标签: android android-studio apk release code-signing

我将我的android studio从1.5版本更新为当前最新版本v2.1.1,并将构建工具版本更新为2.1.0并将gradle distributionUrl更新为https://services.gradle.org/distributions/gradle-2.10-all.zip

更新此更改后,我可以在设备上运行该应用程序,但是当我尝试编写代码时,应用程序会收到此错误 -

  

错误:任务':projectName:transformClassesWithJarMergingForRelease'执行失败。   com.android.build.api.transform.TransformException:java.util.zip.ZipException:重复条目:com / android / internal / http / multipart / PartSource.class

在这里查看我的build.gradle文件 -

apply plugin: 'com.android.application'

android {
   signingConfigs {
    config {
        keyAlias 'aliasname'
        keyPassword ''
        storeFile file('/opt/keystorename.keystore')
        storePassword ''
    }
   }
   compileSdkVersion 23
   buildToolsVersion "23.0.3"
   defaultConfig {
    applicationId "com.companyname.project"
    minSdkVersion 9
    targetSdkVersion 23
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
    multiDexEnabled true
}
dexOptions{
    incremental true
}

  buildTypes {
    release {
         minifyEnabled false
         proguardFiles getDefaultProguardFile('proguard-android.txt')
         signingConfig signingConfigs.config
         zipAlignEnabled true
     }
 }
}

dependencies {
  compile project(':libraryInfiniteScrollListView')
  compile project(':libraryPagerSlidingTabStrip')
  compile project(':libraryParallaxScroll')
  compile project(':library_CardView_Supportv7')
  compile(project(':librarySwipeListView'))

  compile 'com.google.android.gms:play-services-base:8.4.0'
  compile 'com.google.android.gms:play-services-plus:8.4.0'
  compile 'com.google.android.gms:play-services-location:8.4.0'
  compile 'com.google.android.gms:play-services-gcm:8.4.0'
  compile 'com.android.support:appcompat-v7:23.4.0'
  compile files('libs/AndroidEasingFunctions-1.0.0.jar')
  compile files('libs/AndroidViewAnimations-1.0.6.jar')
  compile files('libs/calligraphy-1.1.0.jar')
  compile files('libs/flexjson-2.1.jar')
  compile files('libs/libBeaconService.jar')
  compile files('libs/libraryhttploopj.jar')
  compile files('libs/localytics.jar')
  compile 'com.nineoldandroids:library:2.4.0'
  compile files('libs/universal-image-loader-1.9.3.jar')
  compile files('libs/YouTubeAndroidPlayerApi.jar')
  compile 'com.android.support:multidex:1.0.1'
  // org.apache.http package is deprecated and removed in 23 sdk version and above
  compile files('libs/org.apache.http.legacy.jar')
}

我的应用程序类正在扩展MultiDexApplication类实例。

我甚至将buildToolsVersion更新为" 23.0.3"来自" 23.0.1"但仍然得到相同的上述错误。

如果有人可以指出什么是坏的,那将会非常有用吗?

1 个答案:

答案 0 :(得分:0)

因此最终证明PartSource.class存在于org.apache.http.legacy.jar中。并且org.apache.http.legacy.jar作为依赖项添加到其中一个库项目中,也添加到项目的依赖项中。通过在项目的gradle中注释掉org.apache.http.legacy.jar依赖关系来解决它。

仍然我不知道为什么它正在处理旧的android工作室版本以及为什么它运行如果我运行/调试应用程序。但是,问题现在仍然得到解决