react native报错处理com.android.build.api.transform.TransformException: com.android.builder.dexing.DexAr

背景:最近准备在使用react-native开发的app中接入友盟,来进行用户行为统计,分享,受权登陆等操做。html

在使用的过程当中,遇到了一些错误信息,在此记录一下。react

在修改android目录下的build.gradle等信息后,运行react-native run-android报错,错误信息以下:android

com.android.build.api.transform.TransformException: com.android.builder.dexing.DexArchiveBuilderException: com.android.builder.dexing.DexArchiveBuilderException: Failed to process /Users/xxx/.gradle/caches/modules-2/files-2.1/com.umeng.analytics/analytics/6.1.4/c1d30c2bbdce435b775cadca57df2098044a0f5e/analytics-6.1.4.jar

为何会提示这个错误了,后来通过搜索查找,发现了下面介绍:http://www.cnblogs.com/evilKing/p/4778935.htmlreact-native

注释android/app/build.gradle目录下dependencies中的implementation 'com.umeng.analytics:analytics:latest.integration',从新执行编译脚本,启动正常,是什么缘由致使的错误呢?api

贴出咱们引入的资源:app

dependencies {
    // 表明src目录同级libs目录所有解析
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    // implementation files('libs/umeng-analytics-8.0.0.jar')
    // implementation files('libs/umeng-common-2.0.0.jar')
    // implementation 'com.umeng.analytics:analytics:latest.integration'
    // implementation 'com.umeng.analytics:analytics:6.1.4'
    implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
    implementation 'com.facebook.react:react-native:+'
}

在使用友盟时,咱们会下载jar包存放在src同级的libs目录下面,libs目录包含分享,受权登陆等一些三方SDK文件,目录结构gradle

再看看dependencies下的implementation fileTree(include: ['*.jar'], dir: 'libs'),*时匹配libs目录下全部的已jar结尾的文件,等同于用过implementation引入资源,表明解析libs目录下的全部资源到文件中,所以在下面再次引入implementation 'com.umeng.analytics:analytics:latest.integration'时,会致使资源重复加载,致使打包失败。ui

相关文章
相关标签/搜索