使用
//build.gradle(project)
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
maven {
name 'AliYun Google Repository Proxy'
url 'https://maven.aliyun.com/repository/google'
}
maven {
name 'AliYun Jcenter Repository Proxy'
url 'https://maven.aliyun.com/repository/jcenter'
}
// google()
// jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
maven {
name 'AliYun Google Repository Proxy'
url 'https://maven.aliyun.com/repository/google'
}
maven {
name 'AliYun Jcenter Repository Proxy'
url 'https://maven.aliyun.com/repository/jcenter'
}
// google()
// jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
//build.gradle(module)
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.tomorrow.architetest"
minSdkVersion 15
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
javaCompileOptions {
annotationProcessorOptions {
arguments = [AROUTER_MODULE_NAME: project.getName()]
}
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:support-compat:28.0.0'
// 替换成最新版本, 需要注意的是api
// 要与compiler匹配使用,均使用最新版可以保证兼容
api 'com.alibaba:arouter-api:1.5.0'
annotationProcessor 'com.alibaba:arouter-compiler:1.2.2'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
//AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.tomorrow.architetest">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".TargetActivity"/>
</application>
</manifest>
//TargetActivity
package com.tomorrow.architetest;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import com.alibaba.android.arouter.facade.annotation.Route;
@Route(path = "/test/activity")
public class TargetActivity extends AppCompatActivity {
private static final String TAG = "TargetActivity";
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d(TAG, "zwm, onCreate");
}
}
//MainActivity
package com.tomorrow.architetest;
import android.os.Bundle;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import com.alibaba.android.arouter.launcher.ARouter;
public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d(TAG, "zwm, onCreate");
setContentView(R.layout.activity_main);
ARouter.init(getApplication());
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Log.d(TAG, "zwm, ARouter start navigation");
ARouter.getInstance().build("/test/activity").navigation();
}
}, 3000);
}
}
//输出log
2019-11-28 17:51:43.884 24721-24721/com.tomorrow.architetest D/MainActivity: zwm, onCreate
2019-11-28 17:51:46.963 24721-24721/com.tomorrow.architetest D/MainActivity: zwm, ARouter start navigation
2019-11-28 17:51:47.961 24721-24721/com.tomorrow.architetest D/TargetActivity: zwm, onCreate
相关链接
alibaba/ARouter
网友评论