下面让您的App变成“RePlugin插件”
1. 添加Replugin Host Gradle依赖
在项目根目录里的build.gradle(不是app/build.gradle)中添加replugin-host-gradle依赖:
dependencies { classpath 'com.android.tools.build:gradle:3.0.1' classpath 'com.qihoo360.replugin:replugin-host-gradle:2.2.4' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files }
2. 添加Replugin Host Lib依赖
在app/build.gradle里应用replugin-host-gradle插件,并添加replugin-host-lib依赖:
android { compileSdkVersion 26 defaultConfig { applicationId "com.android.plugintest" minSdkVersion 19 targetSdkVersion 26 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile( 'proguard-android.txt'), 'proguard-rules.pro' } } android. applicationVariants.all { variant -> variant. outputs.all { output -> def outputFile = output. outputFile if (outputFile. name.contains( "debug")){ outputFileName = new File( "../debug/", "plugintest_debug_v${ android. defaultConfig. versionName} _${releaseTime()} .apk") } if (outputFile. name.contains( "release")){ outputFileName = new File( "../release/", "plugintest_release_v${ android. defaultConfig. versionName} _${releaseTime()} .apk") } } } } def releaseTime() { return new Date().format( "yyyyMMddHHmmss", TimeZone. getTimeZone( "Asia/Chongqing")) } apply plugin: 'replugin-plugin-gradle' repluginPluginConfig { pluginName = "plugintest" hostApplicationId = "com.android.plugin" hostAppLauncherActivity = "com.android.plugin.MainActivity" hostAppLauncherActivity } dependencies { implementation fileTree( include: [ '*.jar'], dir: 'libs') implementation 'com.android.support:appcompat-v7:26.1.0' implementation 'com.android.support.constraint:constraint-layout:1.0.2' testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test:runner:1.0.1' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1' implementation 'com.qihoo360.replugin:replugin-plugin-lib:2.2.4' }3 配置AndroidManifest.xml文件
<meta-data android:name="process_map" android:value="[ {'from':'com.android.plugintest','to':'$p0'} ]" /> </application>
好了,简单的app插件就这样形成了。下面是源码下载。