EMM项目之插件开发指南
本项目使用的插件框架为360公司最近开源的RePlugin插件框架,使用方法和注意事项都可以参考RePlugin的文档。https://github.com/Qihoo360/RePlugin/blob/master/README_CN.md
插件开发环境
androidstudio2.x(androidstudio3.0及以上暂不支持,亲测过)
插件开发流程
第一步:在项目根目录的 build.gradle(注意:不是 app/build.gradle) 中添加 replugin-plugin-gradle 依赖
buildscript {
dependencies {
classpath 'com.qihoo360.replugin:replugin-plugin-gradle:2.1.4'
...
}
}
第二步:在 module/build.gradle 中应用 replugin-plugin-gradle 插件,并添加 replugin-plugin-lib 依赖:
apply plugin: 'replugin-plugin-gradle'
dependencies {
compile 'com.qihoo360.replugin:replugin-plugin-lib:2.1.3'
...
}
第三步:在Manifest.xml文件中声明插件名称和插件版本号
<meta-data
android:name="com.qihoo360.plugin.name"
android:value="插件名" />
<meta-data
android:name="com.qihoo360.plugin.version.ver"
android:value="插件版本号" />
插件开发注意细节
第一点:如果项目中使用到AppcompatActivity,需要在代码中设置主题
@Override
protected void onCreate(Bundle savedInstanceState) {
setTheme(R.style.QueryTheme);
super.onCreate(savedInstanceState);
.......
}
第二点:RePlugin框架暂不支持插件开发过程中使用gradle的多渠道打包。
第三点:插件内部Activity跳转尽量用XXXActivity.this
MainActivity.this.startActivity(intent);
getActivity().startActivity(intent);
第四点:在插件内调用getApplicationContext()方法获取到的Application对象是宿主应用的Application对象。
总结
如果开发过程中出现问题,可以与我联系或者去https://github.com/Qihoo360/RePlugin查看资料和提交issue,祝您开发愉快。