├── app ├── .gitignore ├── src │ └── main │ │ ├── res │ │ ├── values │ │ │ ├── strings.xml │ │ │ ├── colors.xml │ │ │ └── styles.xml │ │ └── drawable │ │ │ └── ic_launcher_round.png │ │ └── AndroidManifest.xml ├── proguard-rules.pro └── build.gradle ├── baselibrary ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ ├── values │ │ │ │ └── strings.xml │ │ │ └── layout │ │ │ │ ├── activity_auth_tip.xml │ │ │ │ └── activity_degrade_tip.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── arouter │ │ │ │ └── baselibrary │ │ │ │ ├── IUserInfo.java │ │ │ │ ├── RoutePath.java │ │ │ │ ├── base │ │ │ │ ├── BaseActivity.java │ │ │ │ └── BaseFragment.java │ │ │ │ ├── DegradeServiceImpl.java │ │ │ │ ├── activity │ │ │ │ ├── DegradeTipActivity.java │ │ │ │ └── AuthTipActivity.java │ │ │ │ ├── interceptor │ │ │ │ └── AuthInterceptor.java │ │ │ │ └── MyApplication.java │ │ └── AndroidManifest.xml │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── arouter │ │ │ └── baselibrary │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── arouter │ │ └── baselibrary │ │ └── ExampleInstrumentedTest.java ├── proguard-rules.pro └── build.gradle ├── module_home ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ ├── values │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ ├── colors.xml │ │ │ │ └── styles.xml │ │ │ ├── drawable │ │ │ │ └── ic_launcher_round.png │ │ │ └── layout │ │ │ │ └── activity_home.xml │ │ ├── buildApp │ │ │ └── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── arouter │ │ │ │ └── module_home │ │ │ │ ├── HomeActivity.java │ │ │ │ └── HomeFragment.java │ │ └── buildModule │ │ │ └── AndroidManifest.xml │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── arouter │ │ │ └── module_home │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── arouter │ │ └── module_home │ │ └── ExampleInstrumentedTest.java ├── proguard-rules.pro └── build.gradle ├── module_main ├── .gitignore ├── src │ └── main │ │ ├── res │ │ ├── values │ │ │ ├── strings.xml │ │ │ ├── colors.xml │ │ │ └── styles.xml │ │ ├── drawable-hdpi │ │ │ ├── splash.jpg │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ ├── drawable-xhdpi │ │ │ ├── ic_home_red.png │ │ │ ├── ic_launcher.png │ │ │ ├── ic_mine_red.png │ │ │ ├── ic_video_red.png │ │ │ ├── ic_home_black.png │ │ │ ├── ic_mine_black.png │ │ │ ├── ic_video_black.png │ │ │ └── ic_launcher_round.png │ │ ├── color │ │ │ └── selector_tab_text.xml │ │ ├── drawable │ │ │ ├── selector_tab_text.xml │ │ │ └── ic_launcher_background.xml │ │ ├── layout │ │ │ ├── activity_splash.xml │ │ │ ├── tabcontent.xml │ │ │ ├── activity_main.xml │ │ │ └── activity_login.xml │ │ └── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ ├── buildApp │ │ └── AndroidManifest.xml │ │ ├── buildModule │ │ └── AndroidManifest.xml │ │ └── java │ │ └── com │ │ └── arouter │ │ └── module_main │ │ ├── TabSpec.java │ │ ├── SplashActivity.java │ │ ├── LoginActivity.java │ │ └── MainActivity.java ├── proguard-rules.pro └── build.gradle ├── module_mine ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ ├── values │ │ │ │ ├── strings.xml │ │ │ │ ├── colors.xml │ │ │ │ └── styles.xml │ │ │ ├── drawable │ │ │ │ └── ic_launcher_round.png │ │ │ └── layout │ │ │ │ └── activity_mine.xml │ │ ├── buildApp │ │ │ └── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── arouter │ │ │ │ └── module_mine │ │ │ │ ├── UserInfoImpl.java │ │ │ │ └── MineFragment.java │ │ └── buildModule │ │ │ └── AndroidManifest.xml │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── arouter │ │ │ └── module_mine │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── arouter │ │ └── module_mine │ │ └── ExampleInstrumentedTest.java ├── proguard-rules.pro └── build.gradle ├── module_route ├── .gitignore ├── build.gradle └── src │ └── main │ └── java │ └── com │ └── aroute │ └── module_route │ ├── VideoRoutePath.java │ ├── HomeRoutePath.java │ ├── MainRoutePath.java │ └── MineRoutePath.java ├── module_video ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ ├── values │ │ │ │ ├── strings.xml │ │ │ │ ├── colors.xml │ │ │ │ └── styles.xml │ │ │ ├── drawable │ │ │ │ └── ic_launcher_round.png │ │ │ └── layout │ │ │ │ └── activity_video.xml │ │ ├── buildApp │ │ │ └── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── arouter │ │ │ │ └── module_video │ │ │ │ ├── VideoActivity.java │ │ │ │ └── VideoFragment.java │ │ └── buildModule │ │ │ └── AndroidManifest.xml │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── arouter │ │ │ └── module_video │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── arouter │ │ └── module_video │ │ └── ExampleInstrumentedTest.java ├── proguard-rules.pro └── build.gradle ├── README.md ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── settings.gradle ├── .idea ├── caches │ └── build_file_checksums.ser ├── vcs.xml ├── runConfigurations.xml ├── gradle.xml ├── modules.xml ├── inspectionProfiles │ └── Project_Default.xml ├── misc.xml └── codeStyles │ └── Project.xml ├── .gitignore ├── gradle.properties ├── gradlew.bat └── gradlew /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /baselibrary/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /module_home/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /module_main/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /module_mine/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /module_route/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /module_video/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # AppModuleDemo 2 | Module通讯采用阿里ARouter 3 | 4 | Android 模块化开发 5 | -------------------------------------------------------------------------------- /baselibrary/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Arouter 3 | 4 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanchenyan/AppModuleDemo/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /module_home/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 16dp 3 | 4 | -------------------------------------------------------------------------------- /module_main/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | module_begin 3 | 4 | -------------------------------------------------------------------------------- /module_mine/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | module_mine 3 | 4 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app', ':baselibrary', ':module_main', ':module_mine', ':module_home', ':module_video', ':module_route' 2 | -------------------------------------------------------------------------------- /.idea/caches/build_file_checksums.ser: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanchenyan/AppModuleDemo/HEAD/.idea/caches/build_file_checksums.ser -------------------------------------------------------------------------------- /module_video/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | module_video 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanchenyan/AppModuleDemo/HEAD/app/src/main/res/drawable/ic_launcher_round.png -------------------------------------------------------------------------------- /module_main/src/main/res/drawable-hdpi/splash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanchenyan/AppModuleDemo/HEAD/module_main/src/main/res/drawable-hdpi/splash.jpg -------------------------------------------------------------------------------- /module_home/src/main/res/drawable/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanchenyan/AppModuleDemo/HEAD/module_home/src/main/res/drawable/ic_launcher_round.png -------------------------------------------------------------------------------- /module_main/src/main/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanchenyan/AppModuleDemo/HEAD/module_main/src/main/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /module_main/src/main/res/drawable-xhdpi/ic_home_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanchenyan/AppModuleDemo/HEAD/module_main/src/main/res/drawable-xhdpi/ic_home_red.png -------------------------------------------------------------------------------- /module_main/src/main/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanchenyan/AppModuleDemo/HEAD/module_main/src/main/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /module_main/src/main/res/drawable-xhdpi/ic_mine_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanchenyan/AppModuleDemo/HEAD/module_main/src/main/res/drawable-xhdpi/ic_mine_red.png -------------------------------------------------------------------------------- /module_main/src/main/res/drawable-xhdpi/ic_video_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanchenyan/AppModuleDemo/HEAD/module_main/src/main/res/drawable-xhdpi/ic_video_red.png -------------------------------------------------------------------------------- /module_mine/src/main/res/drawable/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanchenyan/AppModuleDemo/HEAD/module_mine/src/main/res/drawable/ic_launcher_round.png -------------------------------------------------------------------------------- /module_video/src/main/res/drawable/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanchenyan/AppModuleDemo/HEAD/module_video/src/main/res/drawable/ic_launcher_round.png -------------------------------------------------------------------------------- /module_main/src/main/res/drawable-xhdpi/ic_home_black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanchenyan/AppModuleDemo/HEAD/module_main/src/main/res/drawable-xhdpi/ic_home_black.png -------------------------------------------------------------------------------- /module_main/src/main/res/drawable-xhdpi/ic_mine_black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanchenyan/AppModuleDemo/HEAD/module_main/src/main/res/drawable-xhdpi/ic_mine_black.png -------------------------------------------------------------------------------- /module_main/src/main/res/drawable-xhdpi/ic_video_black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanchenyan/AppModuleDemo/HEAD/module_main/src/main/res/drawable-xhdpi/ic_video_black.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | .externalNativeBuild 10 | -------------------------------------------------------------------------------- /module_main/src/main/res/drawable-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanchenyan/AppModuleDemo/HEAD/module_main/src/main/res/drawable-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /module_main/src/main/res/drawable-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanchenyan/AppModuleDemo/HEAD/module_main/src/main/res/drawable-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /module_home/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | module_home 3 | HomeActivity 4 | 5 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /module_route/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'java-library' 2 | 3 | dependencies { 4 | implementation fileTree(dir: 'libs', include: ['*.jar']) 5 | } 6 | 7 | sourceCompatibility = "1.6" 8 | targetCompatibility = "1.6" 9 | -------------------------------------------------------------------------------- /module_route/src/main/java/com/aroute/module_route/VideoRoutePath.java: -------------------------------------------------------------------------------- 1 | package com.aroute.module_route; 2 | 3 | public class VideoRoutePath { 4 | 5 | public static final String VIDEO_FRAGMENT = "/video/VIDEO_FRAGMENT"; 6 | } 7 | -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /module_home/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /module_main/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /module_mine/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /module_video/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /module_route/src/main/java/com/aroute/module_route/HomeRoutePath.java: -------------------------------------------------------------------------------- 1 | package com.aroute.module_route; 2 | 3 | public class HomeRoutePath { 4 | 5 | private static final String PREFIX = "/home/"; 6 | 7 | public static final String HOME_FRAGMENT = PREFIX+"HomeFragment"; 8 | } 9 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed Jul 04 14:11:41 CST 2018 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip 7 | -------------------------------------------------------------------------------- /baselibrary/src/main/java/com/arouter/baselibrary/IUserInfo.java: -------------------------------------------------------------------------------- 1 | package com.arouter.baselibrary; 2 | 3 | import com.alibaba.android.arouter.facade.template.IProvider; 4 | 5 | /** 6 | * 服务管理: 用于模块之间进行数据的传递,例如:首页模块没依赖我的模块,但是需要获取我的模块的数据,就是用这个 7 | */ 8 | public interface IUserInfo extends IProvider { 9 | String getName(); 10 | } 11 | -------------------------------------------------------------------------------- /module_mine/src/main/buildApp/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /module_route/src/main/java/com/aroute/module_route/MainRoutePath.java: -------------------------------------------------------------------------------- 1 | package com.aroute.module_route; 2 | 3 | public class MainRoutePath { 4 | 5 | private static final String PREFIX = "/main/"; 6 | 7 | public static final String MAIN_ACTIVITY = PREFIX+"MainActivity"; 8 | 9 | public static final String LOGIN_ACTIVITY = PREFIX+"LoginActivity"; 10 | 11 | } 12 | -------------------------------------------------------------------------------- /module_video/src/main/buildApp/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /baselibrary/src/main/java/com/arouter/baselibrary/RoutePath.java: -------------------------------------------------------------------------------- 1 | package com.arouter.baselibrary; 2 | 3 | public class RoutePath { 4 | 5 | private static final String PREFIX = "/base/"; 6 | 7 | public static final String AUTH_TIP_ACTIVITY = PREFIX+"AuthTipActivity"; 8 | public static final String DEGRADE = PREFIX+"DegradeService"; 9 | public static final String DEGRADE_TIP = PREFIX+"DegradeTipActivity"; 10 | } 11 | -------------------------------------------------------------------------------- /module_main/src/main/res/color/selector_tab_text.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /module_main/src/main/res/drawable/selector_tab_text.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /module_route/src/main/java/com/aroute/module_route/MineRoutePath.java: -------------------------------------------------------------------------------- 1 | package com.aroute.module_route; 2 | 3 | public class MineRoutePath { 4 | 5 | private static final String PREFIX = "/mine/"; 6 | 7 | public static final String LOGIN_RESULT_ACTIVITY = PREFIX+"LonginResultActivity"; 8 | public static final String USER_SERVICE = PREFIX+"UserInfoImpl"; 9 | public static final String MINE_FRAGMENT = PREFIX+"MineFragment"; 10 | } 11 | -------------------------------------------------------------------------------- /module_home/src/main/buildApp/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 8 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /baselibrary/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /module_main/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /module_mine/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /module_video/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /module_main/src/main/res/layout/activity_splash.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /module_home/src/main/java/com/arouter/module_home/HomeActivity.java: -------------------------------------------------------------------------------- 1 | package com.arouter.module_home; 2 | 3 | import android.os.Bundle; 4 | 5 | import com.arouter.baselibrary.base.BaseActivity; 6 | 7 | 8 | /** 9 | * 独编译运行时调用 10 | */ 11 | public class HomeActivity extends BaseActivity { 12 | 13 | @Override 14 | protected void onCreate(Bundle savedInstanceState) { 15 | super.onCreate(savedInstanceState); 16 | setContentView(R.layout.activity_home); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /module_video/src/main/java/com/arouter/module_video/VideoActivity.java: -------------------------------------------------------------------------------- 1 | package com.arouter.module_video; 2 | 3 | import android.os.Bundle; 4 | 5 | import com.arouter.baselibrary.base.BaseActivity; 6 | 7 | /** 8 | * 独编译运行时调用 9 | */ 10 | public class VideoActivity extends BaseActivity { 11 | 12 | @Override 13 | protected void onCreate(Bundle savedInstanceState) { 14 | super.onCreate(savedInstanceState); 15 | setContentView(R.layout.activity_video); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /baselibrary/src/test/java/com/arouter/baselibrary/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.arouter.baselibrary; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /module_home/src/test/java/com/arouter/module_home/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.arouter.module_home; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /module_mine/src/test/java/com/arouter/module_mine/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.arouter.module_mine; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /module_video/src/test/java/com/arouter/module_video/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.arouter.module_video; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /baselibrary/src/main/java/com/arouter/baselibrary/base/BaseActivity.java: -------------------------------------------------------------------------------- 1 | package com.arouter.baselibrary.base; 2 | 3 | import android.os.Bundle; 4 | import android.support.v7.app.AppCompatActivity; 5 | 6 | import com.alibaba.android.arouter.launcher.ARouter; 7 | 8 | /** 9 | * 所有Actvity都继承BaseActivity 10 | */ 11 | public class BaseActivity extends AppCompatActivity { 12 | @Override 13 | protected void onCreate(Bundle savedInstanceState) { 14 | super.onCreate(savedInstanceState); 15 | ARouter.getInstance().inject(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /module_main/src/main/buildApp/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /module_video/src/main/res/layout/activity_video.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /module_mine/src/main/res/layout/activity_mine.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /module_home/src/main/res/layout/activity_home.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /module_mine/src/main/java/com/arouter/module_mine/UserInfoImpl.java: -------------------------------------------------------------------------------- 1 | package com.arouter.module_mine; 2 | 3 | import android.content.Context; 4 | 5 | import com.alibaba.android.arouter.facade.annotation.Route; 6 | import com.aroute.module_route.MineRoutePath; 7 | import com.arouter.baselibrary.IUserInfo; 8 | 9 | /** 10 | * date:2018/7/9 on 14:41 11 | * description: 12 | */ 13 | @Route(path = MineRoutePath.USER_SERVICE) 14 | public class UserInfoImpl implements IUserInfo { 15 | @Override 16 | public String getName() { 17 | return "Alan Chen"; 18 | } 19 | 20 | @Override 21 | public void init(Context context) { 22 | 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /module_video/src/main/buildModule/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /module_video/src/main/java/com/arouter/module_video/VideoFragment.java: -------------------------------------------------------------------------------- 1 | package com.arouter.module_video; 2 | 3 | import android.os.Bundle; 4 | import android.view.LayoutInflater; 5 | import android.view.View; 6 | import android.view.ViewGroup; 7 | import com.alibaba.android.arouter.facade.annotation.Route; 8 | import com.aroute.module_route.VideoRoutePath; 9 | import com.arouter.baselibrary.base.BaseFragment; 10 | 11 | /** 12 | * 主页 video 13 | */ 14 | @Route(path = VideoRoutePath.VIDEO_FRAGMENT) 15 | public class VideoFragment extends BaseFragment { 16 | 17 | @Override 18 | public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 19 | View view = inflater.inflate(R.layout.activity_video, null); 20 | return view; 21 | } 22 | } 23 | 24 | 25 | -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /baselibrary/src/main/java/com/arouter/baselibrary/base/BaseFragment.java: -------------------------------------------------------------------------------- 1 | package com.arouter.baselibrary.base; 2 | 3 | import android.content.Context; 4 | import android.os.Bundle; 5 | import android.support.annotation.Nullable; 6 | import android.support.v4.app.Fragment; 7 | 8 | import com.alibaba.android.arouter.launcher.ARouter; 9 | 10 | /** 11 | * 所有Fragment都继承BaseFragment 12 | */ 13 | public class BaseFragment extends Fragment{ 14 | 15 | @Override 16 | public void onCreate(@Nullable Bundle savedInstanceState) { 17 | super.onCreate(savedInstanceState); 18 | ARouter.getInstance().inject(this); 19 | } 20 | 21 | @Override 22 | public void onAttach(Context context) { 23 | super.onAttach(context); 24 | ARouter.getInstance().inject(context); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | # IDE (e.g. Android Studio) users: 3 | # Gradle settings configured through the IDE *will override* 4 | # any settings specified in this file. 5 | # For more details on how to configure your build environment visit 6 | # http://www.gradle.org/docs/current/userguide/build_environment.html 7 | # Specifies the JVM arguments used for the daemon process. 8 | # The setting is particularly useful for tweaking memory settings. 9 | org.gradle.jvmargs=-Xmx1536m 10 | # When configured, Gradle will run in incubating parallel mode. 11 | # This option should only be used with decoupled projects. More details, visit 12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 13 | # org.gradle.parallel=true 14 | 15 | 16 | isModule=false 17 | 18 | -------------------------------------------------------------------------------- /module_home/src/main/buildModule/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /module_home/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 15 | 16 |