【问题标题】:Migrating from Ant to Gradle in Android Studio在 Android Studio 中从 Ant 迁移到 Gradle
【发布时间】:2016-03-25 00:04:21
【问题描述】:
apply plugin: 'com.android.application'

android {
     compileSdkVersion 22
     buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "SOMEID"
        minSdkVersion 15
        targetSdkVersion 17
    }

   buildTypes {
       release {
           minifyEnabled false
           proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile 'com.android.support:support-v4:22.2.1'
    compile 'com.google.code.gson:gson:2.2.4'
    compile 'com.google.guava:guava:18.0'
    compile 'com.google.guava:guava:18.0'
    compile 'com.google.guava:guava:15.0'
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

我对android还很陌生,所以请注意。我一直在处理的应用程序是在 Ant 构建下的,现在必须更改为 Gradle 才能使用其他新的依赖项。现在,通过 Android Studio->Import->Projects 迁移后出现以下错误:

错误:任务 ':app:transformResourcesWithMergeJavaResForDebug' 执行失败。 com.android.build.api.transform.TransformException:com.android.builder.packaging.DuplicateFileException:在 APK 概览框架中复制的重复文件 文件 1:/Users/taeyounglee/StudioProjects/adr-android/app/libs/ormlite-android-4.45-javadoc.jar 文件2:/Users/taeyounglee/StudioProjects/adr-android/app/libs/ormlite-core-4.45-javadoc.jar

以下是 libs 文件夹中的那些,我什至尝试对 build.gradle 上的依赖项进行硬编码,但没有成功:

HockeySDK-3.5.0.jar
http-request-4.2.jar
jsr305-2.0.1.jar
libGoogleAnalyticsV2.jar
ormlite-android-4.45.jar
ormlite-android-4.45-javadoc.jar
ormlite-android-4.45-sources.jar
ormlite-core-4.45.jar
ormlite-core-4.45-javadoc.jar
ormlite-core-4.45-sources.jar
otto-1.3.4.jar
picasso-2.1.1.jar

对此有什么建议吗?该应用程序使用 ormlite,并且需要两个 .jar 文件,因为当我尝试删除其中任何一个时,它只会引发编译错误。我尝试在网上查找有关 APK overview-frame.html 的信息,但似乎找不到合理的答案。非常感谢您的帮助,并在此先感谢!

【问题讨论】:

    标签: android gradle ant ormlite


    【解决方案1】:

    如果可以避免,请停止使用罐子。 Gradle 使得从 Maven 或 JCenter 中提取依赖关系变得超级容易。将此类库添加到您的项目时,开始考虑通过访问 JCenter 或 Maven 添加依赖项,而不是手动下载并将 jar 放入项目中。

    compile 'com.j256.ormlite:ormlite-android:4.45'
    compile 'com.j256.ormlite:ormlite-core:4.45'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.squareup:otto:1.3.8'
    compile 'net.hockeyapp.android:HockeySDK:3.7.2'
    compile 'com.google.android.gms:play-services-analytics:8.4.0'
    compile 'com.github.kevinsawicki:http-request:6.0'
    

    这是他们的相关网站参考:

    【讨论】:

    • 注意,您不必使用最新版本。如果您需要 jar 的特定版本,这些版本也有
    • 非常感谢,它就像魔术一样工作。我只添加了与库分开的 ormlite 依赖项,并保留了其他依赖项。但是一个问题是,一旦你像这样编译,这些依赖项应该保留并且不会被下载,除非我对这些版本进行更改,对吧?一旦我可以访问这个,我一定会支持你,谢谢!
    • 如果您更改版本号或清理项目,它将重新下载依赖项。您应该接受这个答案,这意味着单击上/下投票按钮下方的复选标记。
    猜你喜欢
    • 1970-01-01
    • 2013-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-08
    • 1970-01-01
    相关资源
    最近更新 更多