微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Gradle Error – 在APK AndroidManifest.xml中复制的重复文件

我正在尝试将库(Evernote Android-SDK)导入Android Studio.我找到并下载它(它出现在外部库部分或项目浏览器中).然后它开始告诉我它正在创建一个重复的文件.

buildscript {
    repositories {
        mavenCentral()
   }
   dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
   }
}
apply plugin: 'android'

repositories {
    mavenCentral()
}

dependencies {
    compile 'com.android.support:support-v4:13.0.+'
    compile 'com.evernote:android-sdk:1.1.+'
}

android {
    compileSdkVersion 17
    buildToolsversion "17.0.0"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 16
    }
}

这是出现的一组错误.

Gradle: : duplicate files during packaging of APK C:\Users\SSMI\My Projects\AutoNote\AndroidProject\AutoNote\build\apk\AutoNote-debug-unaligned.apk
Gradle: Execution Failed for task ':AutoNote:packageDebug'.
    > Duplicate files copied in APK AndroidManifest.xml
    File 1: C:\Users\SSMI\My Projects\AutoNote\AndroidProject\AutoNote\build\libs\AutoNote-debug.ap_
    File 2: C:\Users\SSMI\My Projects\AutoNote\AndroidProject\AutoNote\build\libs\AutoNote-debug.ap_

这是什么问题,我该如何解决

回答
所以我所做的是在项目根目录中放置一个名为libraries的文件夹.我将evernote sdk库文件夹移动到那里,并将其命名为evernote.

然后我去了文件项目结构.我忽略了警告.我进入模块点击了并添加了evernote文件夹.然后,我选择了我的应用程序项目模块,然后转到依赖项选项卡.我点击那里(如果不点击则可能需要Alt插入)并添加我导入的模块(evernote).

然后我被欺骗认为它不起作用因为我忘了在源文件中导入它.

解决方法:

我不认为您可以通过maven与Android Studio引用Evernote Android SDK.问题源于Android库无法打包成简单的jar.

Evernote库是使用与Android Studio gradle插件不兼容的maven-android-plugin构建的.这是因为maven插件使用apklib格式重新分发库,而gradle使用新的aar格式.这就是为什么gradle在将Evernote的AndroidManifest与你自己的AndroidManifest合并时遇到了麻烦,导致重复.

相反,您必须克隆Evernote SDK的源代码,手动将其导入Android Studio,并以此方式引用它.他们使用Intellij执行此操作的readme includes instructions,应该与Android Studio相同.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐