解决Jackson的jar包导入,程序无法正常运行问题

本文介绍了解决使用Jackson库导致的APK打包时出现的文件重复问题的方法。通过在build.gradle文件中添加特定配置排除了多余的许可文件。

今天看到很多人使用Jackson进行Java和json、xml之间相互转换,所以自己尝试使用jackson
下载地址:https://oss.sonatype.org/content/repositories/snapshots/com/fasterxml/jackson/core/
但是在使用的时候出现了这样的错误:

Duplicate files copied in APK META-INF/LICENSE.txt File

看log是因为在三个jar包中多了META-INF/LICENSE这样一个文件,在build.gradle文件下Android{}中添加这样一段代码:

packagingOptions {
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/NOTICE'
  }

问题解决了。


原来的代码:

apply plugin: 'com.android.application'

android {
  compileSdkVersion 25
  buildToolsVersion "25.0.0"

  defaultConfig {
    applicationId "com.xd.jacksondemo"
    minSdkVersion 15
    targetSdkVersion 25
    versionCode 1
    versionName "1.0"

    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
  }
  buildTypes {
    release {
      minifyEnabled false
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
  }
}

dependencies {
  compile fileTree(include: ['*.jar'], dir: 'libs')
  androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
  })
  compile 'com.android.support:appcompat-v7:25.0.0'
  testCompile 'junit:junit:4.12'
  compile files('libs/jackson-core-2.2.3.jar')
}

修改后的代码:

apply plugin: 'com.android.application'

android {
  compileSdkVersion 25
  buildToolsVersion "25.0.0"
  packagingOptions {
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/NOTICE'
  }

  defaultConfig {
    applicationId "com.xd.jacksondemo"
    minSdkVersion 15
    targetSdkVersion 25
    versionCode 1
    versionName "1.0"

    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
  }
  buildTypes {
    release {
      minifyEnabled false
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
  }
}

dependencies {
  compile fileTree(include: ['*.jar'], dir: 'libs')
  androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
  })
  compile 'com.android.support:appcompat-v7:25.0.0'
  testCompile 'junit:junit:4.12'
  compile files('libs/jackson-core-2.2.3.jar')
}






                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值