Android番外篇 AndroidStudio独立运行Module
Posted 彭老希
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android番外篇 AndroidStudio独立运行Module相关的知识,希望对你有一定的参考价值。
一、解决方案
进入Module的build.gradle
添加
apply plugin: 'com.android.application'
移除
apply plugin: 'com.android.application'
设置包名,即applicationId
defaultConfig {
applicationId "com.xxx.xxx.net"
...
}
就能看见可以运行了
直接运行报错
二、解决方法
第一步:进入清单文件夹
第二步:配置application标签,包括icon、theme等
<application
android:name=".App"
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@drawable/ic_launcher"
android:supportsRtl="true"
android:theme="@style/AppTheme"
tools:ignore="GoogleAppIndexingWarning">
...
</application>
第三步:配置程序入口,添加intent-filter
<activity android:name=".XXXXActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
三、番外
使用开关来配置Module是否独立运行
首先是设置是否组件化的开关,这个开关一般我们发在单独的gradle配置文件或gradle.properties文件中
(1)在confi.gradle中是这样的。当然你得在project的build.gradle中添加对config的引用。
project的build.gradle添加
apply from: "config.gradle"
然后在config.gradle中添加
ext {
/** Net模块是否作为App存在*/
isNetApp = false
}
(2)在gradle.properties中设置
#控制运行哪个模块(1:运行app模块 2:运行net模块)
runModule=2
(3)然后就是引用刚刚设置的变量
if (rootProject.ext.isNetApp) {
apply plugin: 'com.android.application'
} else {
apply plugin: 'com.android.library'
}
或者
if (Integer.valueOf(runModule) == 1) {
apply plugin: 'com.android.application'
} else {
apply plugin: 'com.android.library'
}
(4)开关设置好了,在要做切换的地方根据开关,来设置。主要在module的build.gradle中。
if (rootProject.ext.isNetApp) {
apply plugin: 'com.android.application'
} else {
apply plugin: 'com.android.library'
}
...
android {
...
defaultConfig {
if (rootProject.ext.isNetApp) {
//组件模式下设置applicationId
applicationId "com.xxx.xxx.net"
}
...
}
// 配置不同模式下的AndroidManifest文件地址
sourceSets {
main {
if (rootProject.ext.isNetApp) {
manifest.srcFile 'src/main/AndroidManifest.xml'
} else {
// 这里再在对应的文件夹下新建AndroidMenifest文件,并配置好activity等参数即可
manifest.srcFile 'src/main/module/AndroidManifest.xml'
}
jniLibs.srcDirs = ['libs']
}
}
}
AndroidMenifest的设置如下图
这样我们就可以在config.gradle中切换模块是否单独运行。
效果图:
资源包:https://download.csdn.net/download/weixin_44720673/19805720?spm=1001.2014.3001.5501
或者后台留言,我发给你也行
以上是关于Android番外篇 AndroidStudio独立运行Module的主要内容,如果未能解决你的问题,请参考以下文章
Android番外篇 Android Studio查看第三方库依赖树
Android番外篇 NestedScrollView嵌套RecyclerView
Android番外篇 RecyclerView 移除飞行效果动画