安卓插件化RePlugin接入记录

准备工作

特别注意: gradle 版本问题

降低版本修改方式  一般使用 3.5.4   +   5.4.1 即可

参考网址: AndroidStudio如何降低Gradle版本兼容老项目_爱吃西蓝花i的博客-CSDN博客_gradle降低版本

修改项目外层的build.gradle 如下所示

buildscript {

    repositories {

        google()

        jcenter()

        maven {url “https://maven.google.com”}

        maven {url “http://maven.geelib.360.cn/nexus/repository/replugin/”}

    }

    dependencies {

        classpath ‘com.android.tools.build:gradle:3.5.4’

        classpath “com.qihoo360.replugin:replugin-host-gradle:3.0.0”

    }

}

allprojects {

    repositories {

        google()

        jcenter()

        maven { url “https://maven.google.com” }

        maven {url “http://maven.geelib.360.cn/nexus/repository/replugin/”}

    }

}

task clean(type: Delete) {

    delete rootProject.buildDir

}

项目的build.gradle修改如下

apply plugin: ‘com.android.application’

android {

    compileSdkVersion 28

    buildToolsVersion ‘28.0.3’

    defaultConfig {

        applicationId “htkj.solar.testhost19″//”com.qihoo360.replugin.sample.host”

        minSdkVersion 14

        targetSdkVersion 28

        versionCode 1

        versionName “1.0”

    }

    buildTypes {

        release {

            minifyEnabled false

            proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’

        }

    }

}

apply plugin: ‘replugin-host-gradle’

repluginHostConfig {

    useAppCompat = true

    useAndroidX = true

    // 可以在这里自定义常驻进程的名字

    // persistentName = “:XXXXService”

}

dependencies {

    implementation fileTree(include: [‘*.jar’], dir: ‘libs’)

    implementation ‘androidx.appcompat:appcompat:1.3.1’

    implementation ‘androidx.localbroadcastmanager:localbroadcastmanager:1.0.0’

    implementation “com.qihoo360.replugin:replugin-host-lib:3.0.0”

}

然后再settings.gradle中删除其他东西只留下这两行

RootProject.name 也可以不要

最后gradle/gradle-wrapper.properties也可以检查一下有没有修改,一般修改File/Project Structure就能自动改变了,没有的话就自己改成对应的Gradle版本号

然后点击那个锤子重新构建即可。

正式接入

宿主程序(主程序)接入新建空的app项目,包名自定义添加 RePlugin Host Gradle 依赖

在项目根目录的 build.gradle(注意:不是 app/build.gradle)中添加replugin-host-gradle依赖

buildscript {

    dependencies {

        classpath ‘com.qihoo360.replugin:replugin-host-gradle:2.2.4’

        …

    }

}

添加 RePlugin Host Library 依赖

在 app/build.gradle 中应用 replugin-host-gradle 插件,并添加 replugin-host-lib 依赖

apply plugin: ‘replugin-host-gradle’

/**

 * 配置项均为可选配置,默认无需添加

 * 更多可选配置项参见replugin-host-gradle的RepluginConfig类

 * 可更改配置项参见 自动生成RePluginHostConfig.java

 */

repluginHostConfig {

    /**

     * 是否使用 AppCompat 库

     * 不需要个性化配置时,无需添加

     */

    useAppCompat = true

    /**

     * 背景不透明的坑的数量

     * 不需要个性化配置时,无需添加

     */

    countNotTranslucentStandard = 6

    countNotTranslucentSingleTop = 2

    countNotTranslucentSingleTask = 3

    countNotTranslucentSingleInstance = 2

}

dependencies {

    compile ‘com.qihoo360.replugin:replugin-host-lib:2.2.4’

    …

}

注意点:

请将apply plugin: ‘replugin-host-gradle’放在 android{} 块之后,防止出现无法读取applicationId,导致生成的坑位出现异常如果您的应用需要支持AppComat,则除了在主程序中引入AppComat-v7包以外,还需要在宿主的build.gradle中添加下面的代码若不支持AppComat则请不要设置此项

repluginHostConfig {

    useAppCompat = true

}

如果您的应用需要个性化配置坑位数量,则需要在宿主的build.gradle中添加下面的代码

repluginHostConfig {

     /**

     * 背景不透明的坑的数量

     */

    countNotTranslucentStandard = 6

    countNotTranslucentSingleTop = 2

    countNotTranslucentSingleTask = 3

    countNotTranslucentSingleInstance = 2

}

配置 Application 类

让工程的 Application 直接继承自 RePluginApplication

public class MainApplication extends RePluginApplication {

}

既然声明了Application,自然还需要在AndroidManifest中配置这个Application。

 

插件接入

第 1 步:添加 RePlugin Plugin Gradle 依赖

在项目根目录的 build.gradle(注意:不是 app/build.gradle) 中添加 replugin-plugin-gradle 依赖

buildscript {

    dependencies {

        classpath ‘com.qihoo360.replugin:replugin-plugin-gradle:2.2.4’

        …

    }

}

第 2 步:添加 RePlugin Plugin Library 依赖

在 app/build.gradle 中应用 replugin-plugin-gradle 插件,并添加 replugin-plugin-lib 依赖

apply plugin: ‘replugin-plugin-gradle’

dependencies {

compile ‘com.qihoo360.replugin:replugin-plugin-lib:2.2.4’

 …

}

第 3 步:app中的build.gradle修改

启动插件在assets目录下创建plugins文件夹,将插件APK后缀改为.jar,并拷贝到该目录下在宿主app中调用以下函数,jar包名

RePlugin.startActivity(MainActivity.this,RePlugin.createIntent(“plugina”,”com.example.plugina.MainActivity”));

参数 .jar名 + 插件MainActivity路径

附上demo一个

https://download.csdn.net/download/apple_58054055/87239634


比丘资源网 » 安卓插件化RePlugin接入记录

发表回复

提供最优质的资源集合

立即查看 了解详情