美文网首页
kotlin配置ARouter问题,解决org.jetbrain

kotlin配置ARouter问题,解决org.jetbrain

作者: MrLgc | 来源:发表于2019-08-19 19:40 被阅读0次

问题1:

w: 警告: 来自注释处理程序 'org.jetbrains.kotlin.kapt3.base.ProcessorWrapper' 的受支持 source 版本 'RELEASE_7' 低于 -source '1.8'

问题2:

[kapt] An exception occurred: java.lang.RuntimeException: ARouter::Compiler >>> No module name, for more information, look at gradle log.
    at com.alibaba.android.arouter.compiler.processor.InterceptorProcessor.init(InterceptorProcessor.java:100)
    at org.jetbrains.kotlin.kapt3.base.incremental.IncrementalProcessor.init(incrementalProcessors.kt:28)
    at org.jetbrains.kotlin.kapt3.base.ProcessorWrapper.init(annotationProcessing.kt:141)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState.<init>(JavacProcessingEnvironment.java:500)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment$DiscoveredProcessors$ProcessorStateIterator.next(JavacProcessingEnvironment.java:597)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:690)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment.access$1800(JavacProcessingEnvironment.java:91)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1035)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1176)
    at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1170)
    at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1068)
    at org.jetbrains.kotlin.kapt3.base.AnnotationProcessingKt.doAnnotationProcessing(annotationProcessing.kt:80)
    at org.jetbrains.kotlin.kapt3.base.AnnotationProcessingKt.doAnnotationProcessing$default(annotationProcessing.kt:36)
    at org.jetbrains.kotlin.kapt3.AbstractKapt3Extension.runAnnotationProcessing(Kapt3Extension.kt:223)
    at org.jetbrains.kotlin.kapt3.AbstractKapt3Extension.analysisCompleted(Kapt3Extension.kt:187)
    at org.jetbrains.kotlin.kapt3.ClasspathBasedKapt3Extension.analysisCompleted(Kapt3Extension.kt:98)
    at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM$analyzeFilesWithJavaIntegration$2.invoke(TopDownAnalyzerFacadeForJVM.kt:95)
    at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(TopDownAnalyzerFacadeForJVM.kt:105)
    at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$default(TopDownAnalyzerFacadeForJVM.kt:80)
    at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:398)
    at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:65)
    at org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport.analyzeAndReport(AnalyzerWithCompilerReport.kt:107)
    at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze(KotlinToJVMBytecodeCompiler.kt:389)
    at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli(KotlinToJVMBytecodeCompiler.kt:118)
    at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:166)
    at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:56)
    at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:84)
    at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:42)
    at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:104)
    at org.jetbrains.kotlin.daemon.CompileServiceImpl$compile$1$1$2.invoke(CompileServiceImpl.kt:442)
    at org.jetbrains.kotlin.daemon.CompileServiceImpl$compile$1$1$2.invoke(CompileServiceImpl.kt:102)
    at org.jetbrains.kotlin.daemon.CompileServiceImpl$doCompile$$inlined$ifAlive$lambda$2.invoke(CompileServiceImpl.kt:1005)
    at org.jetbrains.kotlin.daemon.CompileServiceImpl$doCompile$$inlined$ifAlive$lambda$2.invoke(CompileServiceImpl.kt:102)
    at org.jetbrains.kotlin.daemon.common.DummyProfiler.withMeasure(PerfUtils.kt:138)
    at org.jetbrains.kotlin.daemon.CompileServiceImpl.checkedCompile(CompileServiceImpl.kt:1047)
    at org.jetbrains.kotlin.daemon.CompileServiceImpl.doCompile(CompileServiceImpl.kt:1004)
    at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:441)
    at sun.reflect.GeneratedMethodAccessor110.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357)
    at sun.rmi.transport.Transport$1.run(Transport.java:200)
    at sun.rmi.transport.Transport$1.run(Transport.java:197)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:573)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:834)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:688)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:687)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)    

对于纯java代码的gradle的ARoute的配置应该是这样的

defaultConfig {
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        javaCompileOptions { annotationProcessorOptions { includeCompileClasspath = true } }
        javaCompileOptions {
            annotationProcessorOptions {
                arguments = [AROUTER_MODULE_NAME: project.getName()]
            }
        }
    }

dependencies {
       annotationProcessor 'com.alibaba:arouter-compiler:1.2.2'
}

AnnotationProcessor是编译时注解处理器
这样就ok了

对于java和kt的混编如果这样配置就会遇到上面的问题
我这面这样配置的

  apply plugin: 'kotlin-kapt'

  defaultConfig {
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion
        dataBinding.enabled = true
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        javaCompileOptions { annotationProcessorOptions { includeCompileClasspath = true } }
        javaCompileOptions {
           annotationProcessorOptions {
                arguments = [ AROUTER_MODULE_NAME: project.getName() ]
           }
       }

    }

kapt {
    arguments {
        arg("moduleName", project.getName())
        includeCompileClasspath = true
    }
    generateStubs = true
}


  dependencies {
       kapt 'com.alibaba:arouter-annotation:1.0.6'
       kapt 'com.alibaba:arouter-compiler:1.2.2'
}

这样就搞定了,处理了警告及ARoute的编译时代码不生成的问题。
就可以正常编译了。

相关文章

  • kotlin配置ARouter问题,解决org.jetbrain

    问题1: 问题2: 对于纯java代码的gradle的ARoute的配置应该是这样的 AnnotationProc...

  • 2021-01-28

    1.ARouter路由不到问题 增加apply plugin: 'kotlin-kapt' 注解依赖 kapt r...

  • 阿里Arouter之Kotlin配置

    官网传送门:https://github.com/alibaba/ARouter/[https://github....

  • Android利用阿里的Arouter来进行组件开发

    第一步:配置Arouter: 配置代码如下: 配置代码如下: 配置代码如下: 初始化Arouter路由代码如下: ...

  • ARouter 踩坑

    ARouter 踩坑 ARouter简明 作为跨模块通讯sdk 肯定很多人使用,但是坑也不少,基本都是配置类的问题...

  • kotlin版本组件化+mvvm项目架构

    Kotlin MVVM Databinding Arouter路由 Dagger依赖注入 Rxjava Retro...

  • Kotlin ARouter

    1.在base库gradle.build中添加依赖api 'com.alibaba:arouter-api:x.x...

  • ARouter笔记

    ARouter是什么? ARouter是:阿里巴巴自研路由框架,主要解决组件间、模块间的 界面跳转 问题。 ARo...

  • ARouter之基础应用篇

    一 、ARouter的配置 在对应的 build.gradle 文件中配置 ARouter 的相关依赖如下: 可以...

  • Kotlin学习一

    今天主要讲讲 kotlin 的简单配置,以及在配置中会遇到的问题 一 kotlin配置 最新的Androidstu...

网友评论

      本文标题:kotlin配置ARouter问题,解决org.jetbrain

      本文链接:https://www.haomeiwen.com/subject/bhgesctx.html