我刚完成我的申请,并试图将广告与Unity Ads一起使用。
我去了“文件”,“导入模块”。
接下来,我转到“文件”,“结构项目”,单击我的主模块,然后转到右侧的依赖项选项卡,然后单击+和3.Module依赖项,然后选择了主模块
模块取决于。现在代码很好。
但是当我测试我的应用程序时,等级构建向我显示:
:unityads:compileReleaseJava
:unityads:proguard发布
注意:有1个重复的类定义。(http://proguard.sourceforge.net/manual/
debugging.html#duplicateclass)
:unityads:proguard发布失败
错误:任务':unityads:proguardRelease'的执行失败。


  java.io.IOException:无法编写[/ Users / Appli / AndroidStudioProjects / The33 / unityads / build /
  中间体/捆绑包/发行版/classes.jar](无法阅读[/ Users / Appli / AndroidStudioProjects / The33 /
  unityads / libs / unity-ads.jar(;;;;;;!META-INF / MANIFEST.MF)](重复的zip条目[unity-ads.jar:com /
  unity3d / ads / android / BuildConfig.class]))
  我的核心项目的Gradle构建脚本:


apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "studio.pomme.m.the33"
minSdkVersion 8
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:21.0.3'
compile project(':unityads')
compile 'com.google.android.gms:play-services:6.5.87'
compile 'com.google.android.gms:play-services-wearable:6.5.87'
}


用于以下库项目之一的Gradle构建脚本:

apply plugin: 'com.android.library'
android {
    compileSdkVersion 21
    buildToolsVersion "19.1.0"
    defaultConfig {}
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
        }
    }
}
dependencies {
    compile files('libs/unity-ads.jar')
}




我不知道该怎么办。

最佳答案

问题的原因是Unity Ads JAR包含BuildConfig类,该类也在生成过程中生成。解决方案是使用AAR而不是JAR导入模块。


删除现有的Unity Ads模块(“文件”->“项目结构”)。
下载Unity Ads SDK。
从“ unity-ads.aar”(“文件”->“新建”->“新模块”->“导入JAR / AAR包”)创建一个模块。

08-16 12:25