RePlugin主程序接入
来源:互联网 发布:百度云如何上传源码 编辑:程序博客网 时间:2024/05/16 14:55
官方GitHub Wiki《主程序接入指南》
只需三步,就能让您的“主程序”接入RePlugin:
第 1 步:添加 RePlugin Host Gradle 依赖
在项目根目录的 build.gradle(注意:不是 app/build.gradle) 中添加 replugin-host-gradle 依赖:
buildscript { dependencies { classpath 'com.qihoo360.replugin:replugin-host-gradle:2.1.0' ... }}
第 2 步:添加 RePlugin Host Library 依赖
在 app/build.gradle 中应用 replugin-host-gradle 插件,并添加 replugin-host-lib 依赖:
apply plugin: 'replugin-host-gradle'dependencies { compile 'com.qihoo360.replugin:replugin-host-lib:2.1.0' ...}
第 3 步:配置 Application 类
让工程的 Application 直接继承自 RePluginApplication。
如果您的工程已有Application类,则可以将基类切换到RePluginApplication即可。或者您也可以用“非继承式”接入。
public class MainApplication extends RePluginApplication {}
既然声明了Application,自然还需要在AndroidManifest中配置这个Application。
<application android:name=".MainApplication" ... />
备选:“非继承式”配置Application
若您的应用对Application类继承关系的修改有限制,或想自定义RePlugin加载过程(慎用!),则可以直接调用相关方法来使用RePlugin。
public class MainApplication extends Application { @Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); RePlugin.App.attachBaseContext(this); .... } @Override public void onCreate() { super.onCreate(); RePlugin.App.onCreate(); .... } @Override public void onLowMemory() { super.onLowMemory(); /* Not need to be called if your application's minSdkVersion > = 14 */ RePlugin.App.onLowMemory(); .... } @Override public void onTrimMemory(int level) { super.onTrimMemory(level); /* Not need to be called if your application's minSdkVersion > = 14 */ RePlugin.App.onTrimMemory(level); .... } @Override public void onConfigurationChanged(Configuration config) { super.onConfigurationChanged(config); /* Not need to be called if your application's minSdkVersion > = 14 */ RePlugin.App.onConfigurationChanged(config); .... }}
针对“非继承式”的注意点
- 所有方法必须在UI线程来“同步”调用。切勿放到工作线程,或者通过post方法来执行
- 所有方法必须一一对应,例如 RePlugin.App.attachBaseContext 方法只在Application.attachBaseContext中调用
- 请将RePlugin.App的调用方法,放在“仅次于super.xxx()”方法的后面
实际接入过程中碰到的问题
1.下载RePlugin依赖包出错:
D:\jeff_workspace\TestRePlugin\app\build.gradleError:(33, 13) Failed to resolve: com.qihoo360.replugin:replugin-host-lib:2.1.0
解决过程:查看官方Sample源码中的build.gradle发现问题所在,需要在project下的build.gradle文件中添加以下代码:
//buildscript repositories以及allprojects repositories中添加RePlugin Repositorymaven { url "https://dl.bintray.com/qihoo360/replugin"}
- Gradle构建出现以下错误:
Execution failed for task ':app:processDebugResources'.> D:\jeff_workspace\TestRePlugin\app\src\main\assets\plugins
解决过程:在Github Issues中发现#48也提到了这个问题,解决办法在里面已经给出:
在 assets 下新建文件夹 plugins
阅读全文
1 1
- RePlugin主程序接入
- 主程序
- 主程序
- replugin 学习
- Replugin使用
- RePlugin外置安装教程
- RePlugin初体验
- Replugin 实战1
- 360 RePlugin引入教程
- RePlugin 使用总结
- RePlugin的一些问题
- RePlugin 常见问题总结
- Replugin ContentProvider实现机制
- Replugin Application初始化流程
- Replugin startActivity流程
- tinyos主程序
- *网页浏览器主程序
- webserver 主程序
- 面向对象设计原则
- 美团CODEM 送外卖
- GState
- Java实现简单的聊天室程序
- 互联网支付方式都有哪些
- RePlugin主程序接入
- Android布局中的空格以及占一个汉字宽度的空格的实现
- Project——OCR_验证码识别
- 10条必知的网页导航菜单设计原则
- 程序设计实践练习(执行,暴力)1
- 最强PostMan使用教程(2)
- SpringMVC-接收传参为数组
- iOS积累-类方法能否访问自己的属性, self调用问题
- 机器学习实战第三章——决策树(源码解析)