美文网首页
kotlin和databinding的一次冲突

kotlin和databinding的一次冲突

作者: 吴_旭东 | 来源:发表于2018-07-05 17:57 被阅读26次

    app的gradle 配置如下

    apply plugin: 'kotlin-android'
    
    apply plugin: 'kotlin-android-extensions'
    ...
    dependencies {
         ...
         implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
         ...
    }
    

    项目的gradle配置如下

    buildscript {
        ext.kotlin_version = '1.2.30'
        ...
        dependencies {
            classpath 'com.android.tools.build:gradle:3.1.3'
            classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
         }
    }
    

    activity 代码

    class MainActivity : MyActivity() {
    
        private var mBinding: AppActivityMainBinding? = null
    
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            init()
        }
    
        private fun init() {
            mBinding = DataBindingUtil.setContentView(this, R.layout.app_activity_main)
        }
    }
    

    本来今天开开心心,然后编译报红:
    :unresolved reference databinding

    修改:
    在app的gradle里添加

    apply plugin: 'kotlin-kapt'
    dependencies {
        ...
        kapt "com.android.databinding:compiler:3.1.3"
    }
    

    参考文献:
    https://stackoverflow.com/questions/33165324/kotlin-android-unresolved-reference-databinding

    /

    • 更新 最近笔者把升级到了AndroidStudio3.2版本,以上方式报错

    AndroidStudio下kotlin + dataBinding 编译报红
    错误: 找不到符号 @Nullable DataBindingComponent component)
    笔者错误原因,gradle 配置问题,错误的Gradle如下

    apply plugin: 'com.android.application'
    
    apply plugin: 'kotlin-android'
    
    apply plugin: 'kotlin-android-extensions'
    
    apply plugin: 'kotlin-kapt'
    
    android {
      ······
    
       dataBinding {
           enabled true
       }
    }
    dependencies {
       kapt "com.android.databinding:compiler:3.1.4"
       implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
     ......
    }
    
    

    解决方式
    删除 kapt "com.android.databinding:compiler:3.1.4"

    相关文章

      网友评论

          本文标题:kotlin和databinding的一次冲突

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