前言

ARouter的出现大大的简化了Android页面之间的跳转,它较Intent使用起来更为方便简洁,但在使用时需要在module的build.gradle文件中进行配置。

ARouter在纯Java编写的moudle中build.gradle文件的配置

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.2"

    defaultConfig {
        applicationId "com.example.aroutertest"
        minSdkVersion 15
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"

        javaCompileOptions {
            annotationProcessorOptions {
                arguments = [moduleName: project.getName()]
            }
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])

    compile 'com.android.support:appcompat-v7:26.+'
    testCompile 'junit:junit:4.12'

    compile 'com.alibaba:arouter-api:1.1.1'
    annotationProcessor 'com.alibaba:arouter-compiler:1.1.1'
}
使用上面方法配置build.gradle之后,我能使用ARouter在各个页面之间跳转了,总算大功告成了!咦,等等,我的ARouter怎么不能跳转到kotlin编写的页面?姿势不对?
查,于是就有了下面的姿势!!

ARouter在使用kotlin(或与Java混合)编码的moudle中build.gradle的配置

apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.2"
    defaultConfig {
        applicationId "com.example.hxb.kotlintest"
        minSdkVersion 15
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
    }
}

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

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')

    compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
    compile 'com.android.support:appcompat-v7:26.+'
    compile 'com.alibaba:arouter-api:1.1.1'
    kapt 'com.alibaba:arouter-compiler:1.1.1'
}
至此可以使用ARouter跳转任意页面了,在使用的时候别忘了在Application中调用ARouter.init(this)初始化哟!
在初始使用ARouter的时候,遇到了一个小问题,也分享一下。如下

ARouter使用无效?

ARouter在配置、姿势都正确的情况下却没有达到预期的效果(点击按钮调用器方法页面不跳转)
如果你使的是Android studio解决办法如下:

打开studio的设置窗口,查看其中的Instant Run选项是否被勾选着,如果是,取消选中就可以了!

Android buildSrc groovy支持_kotlin