Tag: android gradle

在Android Studio中Kotlin构建失败

错误: Error:Execution failed for task ':synclib:compileKotlin'. > com.intellij.openapi.fileTypes.LanguageFileType.<init>(Lcom/intellij/lang/Language;)V synclib模块的build.gradle文件: apply plugin: 'java' apply plugin: 'kotlin' compileJava { sourceCompatibility = 1.7 targetCompatibility = 1.7 } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' // compile 'com.android.support:appcompat-v7:23.1.1' compile 'com.firebase:firebase-client-jvm:2.2.3' compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" compile project(':jamodel') } buildscript { ext.kotlin_version = '1.0.0' repositories { mavenCentral() } dependencies { classpath […]

匕首2生成的测试组件不被识别

我希望这只是我在这里做错了。 我试图使用Dagger 2.0为我的JUnit测试注入依赖( 不是Espresso测试 ,只是纯JUnit)。 所以,我有一个“主”的Java模块和一个“测试”的Java模块。 在主模块中,我有一个Dagger模块和一个组件: @Module public class MainModule { @Provides public Widget provideWidget() { return new ConcreteWidget(); } } … @Component (modules = MainModule.class) public interface MainComponent { void inject(WidgetConsumer consumer); } 在我的测试模块中,我有以下几点: @Module public class TestModule { @Provides public Widget provideWidget() { return new Widget() { @Override public void doThing() { […]

在gradle android库kotlin项目中禁用META-INF / *生成

美好的一天。 我写了一个kotlin android库并将其上载到bintray。 但是当我尝试在某些项目中使用它(通过gradle编译)时,它无法生成以下错误: > com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/library_release.kotlin_module File1: C:\Users\Charlie\.android\build-cache\2939fbc6b0336396c9c4912d615880645b2c729d\output\jars\classes.jar File2: C:\Users\Charlie\OneDrive\Dev\Projects\AndroidStudio\MetuCardLib\demo\build\intermediates\bundles\default\classes.jar 我查阅了这两个.jar文件,它们都包含了带有library_release.kotlin_module文件的META-INF文件夹。 但更重要的是生成.aar(在bintray发布的Android存档)包含此文件夹以及此文件。 我已经检查了其他像样的bintray android库,它们似乎没有包含任何META-INF文件。 但是包含它的那些(在大多数情况下它们包含许可证文件)会产生相同的DuplicateFileException ,解决它的方法是在use-project的gradle文件中明确地排除它们。 这个library_release.kotlin_module文件有什么用处,我怎样在发布期间禁用它的生成? 因为我不想明确地排除使用这个库的每个项目,我也不想问其他开发者这样做。 这是图书馆的回购: https : //github.com/arslancharyev31/Anko-ExpandableTextView/它是bintray回购: https ://bintray.com/arslancharyev31/android/Anko-ExpandableTextView

Kotlin,Java,multidex,Dagger 2,Butterknife和Realm:transformClassesWithMargingForDebug:重复条目:org / jetbrains / annotations / NotNull.class

我们有现有的Java Android代码。 我们想要无痛地慢慢开始移动到Kotlin。 我们用Dagger 2,Butterknife和Realm。 我们使用Java 8编译器(但是我们的targetCompatibility和sourceCompatibility是1.7)。 我一直在网上漫游几个小时,看到了,GitHub对话等,并设法解决除了一个之外的所有问题: 构建是成功的,但是在尝试调试时,我们得到: Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'. > com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: org/jetbrains/annotations/NotNull.class 有没有办法解决Gradle中的重复条目(也许使用packagingOptions或resolutionStrategy ?因为它是来自插件的重复…?)? 再次 – build project没有任何错误,只有transformClassesWithJarMergingForDebug失败! 这是应用程序的gradle: apply plugin: 'com.android.application' apply plugin: 'kotlin-android' //apply plugin: 'com.neenbedankt.android-apt' apply plugin: 'realm-android' kapt { generateStubs = true } android { signingConfigs { config { keyAlias 'MyAndroidKey' keyPassword 'password' […]

Gradle 3.0.0(在Android Studio 3.0中)重新排列任务序列(用Kotlin模块编译时)?

我有一个简单的Gradle脚本(只是为了记录我的Gradle任务运行时) class TestScriptTask extends DefaultTask { @TaskAction def testScript() { logger.quiet("My Gradle Task Here") } } project(":app") { task testScript(type: TestScriptTask) { } } 我有一个简单的Android项目,“app”依赖于Kotlin中的一个模块“remotelib”。 我的应用程序的build.gradle依赖关系如下 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile project(':remotelib') // and others } 所以当我运行我的gradle任务如下 ./gradlew :app:assembleRelease :app:testScript 该脚本运行如下(注意任务在这里执行第一) > Task :app:testScript My Gradle Task Here > Task :remotelib:compileReleaseKotlin Using […]

Kotlin 1.0.0-rc-1036注释处理问题

我有一个使用Raizlabs DBFlow 2.2.1的Android应用程序,我更新了我的kotlin版本到1.0.0-rc-1036,但现在当我尝试运行该应用程序时,它给了我以下错误: https://gist.github.com/yiyocx/3cc9cf594121eba7ab0e 我尝试做一个干净的运行,但是这只是第一次启动,在接下来的启动我收到上面的同样的错误。 我认为这个错误是由于注解问题,我正在使用kapt 。 这些是我在app / build.gradle中的DBFlow依赖关系: dependencies { kapt 'com.raizlabs.android:DBFlow-Compiler:2.2.1' compile "com.raizlabs.android:DBFlow-Core:2.2.1" compile "com.raizlabs.android:DBFlow:2.2.1" } kapt { generateStubs = true }

Android Studio 2.2无法找到所有kotlin文件的引用

更新到Android Studio 2.2后,我不断收到所有 kotlin文件中的“ Unresolved reference ”错误。 具体失败的gradle任务是:: :app:compileStagingDebugKotlinAfterJava (对于称为StagingDebug的变体) 我迄今为止发现的唯一解决方案是运行clean 。 但我不想每次都在我的代码中进行更改。 任何帮助?

Kotlin卡普失败 – 只看到Android API级别1的来源

我看到一些奇怪的行为,导致:app:kaptQaDebugKotlin尝试升级到Android Gradle插件3.0时, :app:kaptQaDebugKotlin失败。 用@TargetApi(VERSION_CODES.KITKAT)注解的方法失败, cannot find symbol ( VERSION_CODES.KITKAT ) …但在与方法内联使用时发现VERSION_CODES.KITKAT 找不到符号DialogInterface.OnShowListener (在API级别8中添加) ..但找到DialogInteface.OnClickListener (在API级别1中添加) 找不到符号Application.ActivityLifecycleCallbacks (在api level 14中添加) 注意:Android Studio能够看到所有这些cannot find symbol类的来源( cmd + B作品) 版本 compileSdkVersion: 25 buildTools: 26.0.2 Kotlin版本: 1.1.51 AGP: 3.0.0 gradle包装: 4.3 支持lib: 24.2.1 (这也难以升级,但是我尝试了25.4.0 ,仍然没有运气) 匕首: 2.0.2 (卡在这个旧版本,不能升级不幸) 使用AGP 3.0.0 java 8 desugar功能 使用kotlin-kapt插件。 自动值类正确生成。 任何想法发生了什么? 它看起来像kapt任务是以某种方式使用Android API级别1的来源,我不知道如何解决这个问题

Android – Kotlin – 匕首 – 没有这样的方法例外

今天,我在新的Android Studio Canary(测试版)中创建了项目。 我试图添加匕首2框架,但我有一些麻烦这样做。 首先我添加一些依赖项: compile 'com.google.dagger:dagger:2.11' kapt 'com.google.dagger:dagger-compiler:2.11' provided 'org.glassfish:javax.annotation:10.0-b28' apply plugin: 'kotlin-kapt' (top of file) 而只是为了我的测试需要等我创建了类: class TempClass {} 接下来我做了一些示例模块 @Module class TempClassModule { @Singleton @Provides fun provideTempClass() : TempClass = TempClass() } 和组件: @Component (modules = arrayOf(TempClassModule::class)) interface TempClassComponent { fun inject(mainActivity: MainActivity) } 我的应用程序类: class MyApp : Application() { companion object […]

Kotlin在Android Studio 3.0 Canary 2中使用Android DataBinding

我的项目有2个模块,它们是app和apphelper作为一个库。 我一直在尝试使用android数据绑定与它kotlin,但我无法弄清楚为什么当我建立项目时,它不断显示我这些错误: 失败:生成失败,出现异常。 * What went wrong: A problem occurred configuring project ':app'. > Could not resolve all dependencies for configuration ':app:stagingRuntimeClasspath'. > Unable to find a matching configuration in project :apphelper: – Configuration 'debugApiElements': – Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'AndroidTypeAttr{name=Aar}' and found compatible value 'AndroidTypeAttr{name=Aar}'. – Required com.android.build.gradle.internal.dependency.BuildTypeAttr 'BuildTypeAttr{name=staging}' and found incompatible value 'BuildTypeAttr{name=debug}'. – Found […]