当前位置: 首页 > 知识库问答 >
问题:

使用Kotlin的apk构建中的DuplicateFileException

奚卓
2023-03-14

我试图建立一个基本的应用程序使用Kotlin/Anko,但我得到以下重复文件例外

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'

buildscript {
    ext.kotlin_version = '1.0.6'

    repositories {
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.3'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

repositories {
    jcenter()
}

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.example.kotlin.androdikotlinexample"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:design:23.1.1'

    //kotlin
    compile "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"

    //anko
    compile "org.jetbrains.anko:anko-design:0.8.3"
    compile "org.jetbrains.anko:anko-support-v4:0.8.3"
    compile "org.jetbrains.anko:anko-sdk15:0.8.3"
    compile 'org.jetbrains.anko:anko-appcompat-v7:0.8.3'

}
buildscript {
    ext.kotlin_version = '1.0.6'
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.3'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
class MainUI : AnkoComponent<MainActivityKotlin> {
    override fun createView(ui: AnkoContext<MainActivityKotlin>): View = with(ui) {
        coordinatorLayout {
            verticalLayout {
                // maybe put some content here
            }
            floatingActionButton {
                imageResource = android.R.drawable.ic_menu_edit
                onClick {
                    ui.owner.startActivityForResult<MainActivityKotlin>(1)
                }
            }.lparams {
                gravity = Gravity.BOTTOM or Gravity.END
            }
        }
    }
}

我尝试删除gradle缓存并再次构建项目,但没有任何工作。请告诉我哪里出了问题?

共有1个答案

汪甫
2023-03-14

试试这个:

compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
compile ("org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version") {
    transitive = false
}

此外,您不再需要Android扩展依赖项,因为它已经绑定到插件中了。只要在gradle中使用应用插件:'kotlin-android-extensions'就足够了。

 类似资料:
  • 我试图在我的MarshmallowAOSP构建中包含一个预构建的谷歌apk(没有。so文件),基于以下链接中的信息: > 在我的供应商/制造商/设备/专有/系统/应用程序中,我创建了一个名为“Testapk”的文件夹。 我在这个'testapk'文件夹中保存了两个文件,apk('testapk.apk')和一个Android.mk文件,其中包含以下说明: LOCAL_PATH:=$(调用my-di

  • 缺陷!源单元“BuildScript”中“语义分析”阶段出现异常不受支持的类文件主版本57 我正在尝试使用以下命令构建apk cd android ./gradlew assembleDebug 但我总是 失败:构建失败,但有例外。 > 问题:无法打开4mbnl7wyuojndhdwxo65gs7ee的设置重映射类缓存(/Users/blickx/.gradle/caches/5.5/script

  • 我有一个简单的android项目。这个命令编译资源并构建apk而不需要dex: 文档报价: 但是,生成的APK不包含DEX字节码,并且是未签名的 ... 您可以使用其他命令行工具,例如d8将Java字节码编译成DEX字节码,apksigner对您的APK进行签名。

  • 错误:无法运行“javac-version”,请确保已安装JDK。您可以从以下网站获得:http://www.oracle.com/technetwork/java/javase/downloads.您的JAVA\u主页无效:C:\Program Files\JAVA\jdk1。8.0_172

  • 我的应用程序安装良好,当安装通过USB“运行应用程序”按钮在Android Studio。 但是,当我构建一个签名APK并在卸载旧APK后将其安装到我的设备上时,n它不起作用:“Application not installed”。 祝你有愉快的一天

  • 我正在运行来构建android apk 如何修复以下错误? 在MyApp... 1.0s中运行“flutter pub get”,您正在构建一个包含android-arm、android-arm64和Android-x64的二进制文件的胖APK。如果您正在将应用程序部署到Play Store,建议使用应用程序包或拆分APK以减小APK大小。要生成应用程序包,请运行:flutter build ap