我们创建一个项目,这个项目需要引入一个library,我们需要测试这个library,因此我们可以把library转化为工程,需要时更改参数变为库。
1.isUserMoudle = flase 时编译的是项目工程,加载的AndroidManifest是测试配置
2.isUserMoudle = true 时编译的是项目工程,加载的AndroidManifest是发布配置
一. gradle.properties添加标识(加到项目工程中,不是library中)
isUserMoudle = false
二. build.gradle修改plugin
if (isUserMoudle.toBoolean()) {
apply plugin: 'com.android.library'
} else {
apply plugin: 'com.android.application'
}
apply plugin: 'kotlin-android'
三. 在main下创建release包和debug包
1.release包下创建AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.zyj.kotlin.usercenter">
<application>
<activity android:name=".ui.activity.RegisterActivity" />
</application>
</manifest>
2.debug包下创建AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.zyj.kotlin.usercenter">
<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/Theme.AppCompat.Light.NoActionBar">
<activity android:name=".ui.activity.RegisterActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
二. build.gradle动态加载AndroidManifest.xml
sourceSets{
main{
if (isUserMoudle.toBoolean()) {
manifest.srcFile 'src/main/release/AndroidManifest.xml'
java{ //若是发布正常版,需要去除掉java下debug文件夹代码
exclude 'debug/**'
}
}else {
manifest.srcFile 'src/main/debug/AndroidManifest.xml'
}
}
}
网友评论