Tag: gradle

Proguard在Kotlin中剥离自定义注释

我的Kotlin项目使用MVP架构。 自定义注释正被用于垃圾桶主持人的视图,例如: @PresenterBinding(MyPresenter::class) class MyActivity{ 当这个项目与Proguard的建立 minifyEnabled true 演示者对视图的链接丢失,我得到kotlin.KotlinNullPointerException访问演示者函数 以下位在我的Proguard配置中(除其他保留规则之外) # Kotlin rules # -assumenosideeffects class kotlin.jvm.internal.Intrinsics { static void checkParameterIsNotNull(java.lang.Object, java.lang.String); } -keepclassmembers class **$WhenMappings { ; } -dontwarn kotlin.** -keep class kotlin.** -keepattributes *Annotation* 我已经尝试了很多东西,但没有运气。 任何指针的权利是值得欢迎的。

Gradle构建失败,Kotlin,Scala和Java

我有一个用Java,Scala和Kotlin编写的项目。 但是,当我在Gradle中构建这个项目时,它的错误信息是: 11:19:51: Executing task ‘build’… :compileKotlin Using Kotlin incremental compilation e: F:\Code\Project\Avalon\src\main\kotlin\avalon\group\Execute.kt: (3, 19): Unresolved reference: Flag e: F:\Code\Project\Avalon\src\main\kotlin\avalon\group\Execute.kt: (10, 18): Unresolved reference: GroupMessageResponder e: F:\Code\Project\Avalon\src\main\kotlin\avalon\group\Execute.kt: (13, 2): ‘doPost’ overrides nothing e: F:\Code\Project\Avalon\src\main\kotlin\avalon\group\Execute.kt: (35, 23): Unresolved reference: Flag e: F:\Code\Project\Avalon\src\main\kotlin\avalon\group\Execute.kt: (38, 2): ‘getHelpMessage’ overrides nothing e: F:\Code\Project\Avalon\src\main\kotlin\avalon\group\Execute.kt: (40, 2): ‘getKeyWordRegex’ overrides nothing e: F:\Code\Project\Avalon\src\main\kotlin\avalon\group\Execute.kt: […]

在Kotlin中包含Javascript文件(不是模块)

我有两个JavaScript文件。 我有一些生成Javascript文件的Kotlin代码。 我也有一个文件(称为file.js),这取决于从Kotlin生成的JavaScript文件。 有没有办法让我使用Gradle在Kotlin生成的JavaScript文件中包含file.js? 有没有可以将资源Javascript文件附加到生成的输出的设置? 我的动机是慢慢地将我的JavaScript项目转换成Kotlin,并且由于项目的结构,我无法创建一个模块。 只是想知道是否有可能做到这一点,如何做到这一点。

在Android Studio中为Kotlin模块配置“build.gradle”

我正在开发一个应用程序,我想从业务逻辑(“不可变”的逻辑和Android独立)分离Android特定的逻辑,所以我创建了两个模块: 应用程序 :Android特定的代码 领域 :商业逻辑(用Kotlin编写) 我正在使用kotlin模块的build.gradle文件 apply plugin: ‘kotlin’ kapt { generateStubs = true } dependencies { compile fileTree(dir: ‘libs’, include: [‘*.jar’]) compile “org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version” /* Annotations library */ provided ‘org.glassfish:javax.annotation:10.0-b28’ kapt ‘com.google.dagger:dagger-compiler:2.0.1’ /* Dagger 2 library */ compile ‘com.google.dagger:dagger:2.0.1’ /* EventBus library */ compile ‘de.greenrobot:eventbus:2.4.0’ /* JODA TIME – time and date library */ compile […]

使用Gradle从Kotlin链接到JVM的asm定义的类

我有一个Android应用程序的以下设置: ├── build.gradle └── src └── main ├── AndroidManifest.xml ├── asm │ └── SomeJVMClass.j ├── kotlin │ └── activity.kt └── res └── values └── strings.xml src/main/asm/SomeJVMClass.j的源文件是Krakatau格式的JVM程序集(与Jasmin几乎相同)。 我想使用它从我的主要Kotlin源activity.kt定义的类。 在我尝试使用Gradle自动执行这个操作之前,只是手动将文件组装到build并没有帮助。 这是我的尝试: 做一个gradle build来获取骨架build目录(这当然会失败,Kotlin编译器找不到SomeJVMClass ) 我手动运行Krakatau将其类文件放在build/intermediates/classes/{debug,release} : $ for flavor in debug release; do ~/prog/jvm/krakatau/assemble.py -out build/intermediates/classes/$flavor -r src/main/asm ;done Processing file src/main/asm/SomeJVMClass.j, 1/1 remaining Class written to […]

Android工作室kotlin插件错误

在Android工作室即时通讯错误: Plugin Error: Kotlin threw an uncaught AbstractMethodError. Disable Plugin 昨天一切都很好。 摇篮: buildscript { ext.kotlin_version = ‘1.1.51’ repositories { google() jcenter() mavenCentral() } dependencies { classpath ‘com.android.tools.build:gradle:3.0.1’ 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 } } Android工作室版本:3.0.1 Build#AI-171.4443003 更甚者:如果我用kotlin支持创建新的android项目失败,同样的错误。 #EDIT1 完整的根gradle构建脚本。 buildscript […]

Kotlin和Gradle – 从stdio读取

我正在尝试使用以下命令来执行我的Kotlin类: ./gradlew -q run < src/main/kotlin/samples/input.txt 这是我的HelloWorld.kt类: package samples fun main(args: Array) { println(“Hello, world!”) val lineRead = readLine() println(lineRead) } 这是我的build.gradle.kts : plugins { kotlin(“jvm”) application } application { mainClassName = “samples.HelloWorldKt” } dependencies { compile(kotlin(“stdlib”)) } repositories { jcenter() } 代码执行,但input.txt文件内包含的数据不显示。 这是我得到的输出: Hello, world! null 我希望能够执行上面的gradlew命令,并将input.txt流重定向到stdio。 我可以很容易地在C ++中做到这一点。 一旦我编译我的.cpp文件,我可以运行: ./my_code < input.txt 并按预期执行。 […]

Gradle无法下载Kotlin存储库

我正在使用Gradle构建Kotlin简单的Hello-Worl 我的build.gradle是: /* * This build file was generated by the Gradle ‘init’ task. * * This generated file contains a commented-out sample Java project to get you started. * For more details take a look at the Java Quickstart chapter in the Gradle * user guide available at https://docs.gradle.org/4.3.1/userguide/tutorial_java_projects.html */ // Apply the java […]

我怎样才能用Kotlin DSL为Gradle配置Kotlin协程?

在Kotlin-DSL中使用Gradle 4.4.1,我想在我的Kotlin 1.2.20项目中配置实验Kotlin协同程序。 这certificate是非常困难的。 官方的Kotlin文档本身只提到Gradle和Groovy DSL,而不是Kotlin。 Kotlin-DSL项目有一个协程不起作用的例子 。 可能是为了一个较老的Gradle版本(该脚本中的Kotlin版本是1.1.51,本身是可疑的)。 PS:即使IntelliJ的配置Kotlin写不正确的Gradle代码。 降级唯一的选择? 附录:构建脚本在IntelliJ IDEA中非常红 。 IDE始终添加导入语句。 看来,这些徒劳的尝试是使剧本不起作用的。 我禁用了“临时添加unambiguos导入”,即使脚本保持大部分为红色,Gradle也可以执行它。 之后,IntelliJ的错误消息也没有了。

kotlin项目不能在gradle中构建

我有一个java项目写在kotlin,我使用intelliJ IDEA来开发这个项目。 我有依赖关系设置(多个项目)的麻烦。 我已经阅读了大量的例子,但是我找不到解决方法,这里是我的依赖设置代码,它可以正确的在java类中构建,但是kotlin类会得到很多错误’Unresolved reference’。 对于我的设置是否有任何错误或gradle是不适合与kotlin。 PS:当我只构建核心项目时,构建过程会成功,但是在测试项目中构建会得到参考未解决的错误 allprojects { apply plugin: ‘java’ apply plugin: ‘kotlin’ group ‘testProject’ version ‘1.0’ } subprojects{ apply plugin: ‘java’ apply plugin: ‘kotlin’ def defaultEncoding = ‘UTF-8’ compileJava.options.encoding = defaultEncoding sourceCompatibility = 1.8 targetCompatibility = 1.8 repositories { mavenCentral() mavenLocal() } dependencies { // Kotlin compile “org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version” compile “org.jetbrains.kotlin:kotlin-reflect:$kotlin_version” compile “org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version” […]