Android插件化(Small框架使用教程1)

 时间:2024-10-28 12:35:26

1、创建项目,这一步和以往创建项目都一样,包名工程名,放置路径都可以自己定

Android插件化(Small框架使用教程1)

2、集成small,对project/build.gradle修改如下,现在版本是1.3.0-beta5:buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.2.2' classpath 'net.wequick.tools.build:gradle-small:1.3.0-beta5' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files }}apply plugin: 'net.wequick.small'allprojects { repositories { jcenter() }}task clean(type: Delete) { delete rootProject.buildDir}small { aarVersion = '1.3.0-beta5'}

Android插件化(Small框架使用教程1)

3、新建applicaiton,如果项楫默礤鲼目中用到数据库,初始化也在宿主的applicaiton中初始化public class My帆歌达缒Applicaiton extends Application { @Override public void onCreate() { super.onCreate(); Small.preSetUp(this); Small.setLoadFromAssets(BuildConfig.LOAD_FROM_ASSETS); Small.setUp(this, new Small.OnCompleteListener() { @Override public void onComplete() { } }); }}

4、新建插件Module:实例:Application Name: App.mainModule name: app.mainpackage name: com.example.mysmall.app.main如果选择Android Library,app.*换成lib.*

Android插件化(Small框架使用教程1)

5、要启动插件,先配置路由:1.新建as衡痕贤伎sets文件夹,新建bundle.json文件{ "version": "1.0.0", "bundles": [ { "uri": "app.main", "pkg": "com.beckett.smalldemo.app.mian" }, { "uri": "lib.common", "pkg": "com.beckett.smalldemo.lib.common" } ]}参数含义:version,是 bundle.json 文件格式版本,目前始终为 1.0.0bundles,插件数组uri,插件唯一IDpkg,插件包名

Android插件化(Small框架使用教程1)
Android插件化(Small框架使用教程1)

6、跳转到插件Activity:实例:从宿主调到app.main插件1.为了看出跳转,在app.main插件里的启动activity的布局里放入“我是app.main插件”的textview2.在宿主app的启动activity里加入代码:Small.openUri("app.main", MainActivity.this);注意:宿主不宜放过多的东西,如果有很多东西要放必须另建一个替身,即app+stub,特别注意替身是library而不是applicaiton,这里暂时不涉及替身

Android插件化(Small框架使用教程1)
Android插件化(Small框架使用教程1)

7、编译插件(特别注意:如果你是要模拟器调试,需要编译生成插件到 x86 架构下,不然模拟器运行会闪退,编译过程很慢,需要等待)在 Terminal 面板,依次打以下命令:gradlew cleanLib cleanBundlegradlew buildLibgradlew buildBundle如果是要打模拟器运行的包,后两句换成即可:gradlew buildLib -q -Dbundle.arch=x86gradlew buildBundle -q -Dbundle.arch=x86

Android插件化(Small框架使用教程1)

8、成功后,可以在宿主的jnilibs/armeabi文件路径下找到插件的.so包,然后运行宿主即可运行,也可以单个插件调试,如下图3所示,small框架的方便之处就是这个,可以单个插件调试!

Android插件化(Small框架使用教程1)
Android插件化(Small框架使用教程1)
Android插件化(Small框架使用教程1)

9、运行app和app.main的最后截图,对比发现单个插件运行调试时,toolbar显示的名字为插件的名字

Android插件化(Small框架使用教程1)
Android插件化(Small框架使用教程1)

10、输入命令后打包不成功的可能的原因:1.查看你的module和lib是否创建错了2.查看配置路由的json文件是否包名有写错3.查看jnilibs下是否正确生成.so包

11、demo代码上传百度云盘,链接:链接:https://pan.baidu.com/s/1bb2fKR2L8-dJD57nwLcicA 密码:3cj1

  • Win11怎么开启毛玻璃特效
  • 善良的医生任务攻略
  • 单机游戏 异星工厂 红图的使用方法
  • 笔记本电脑最佳散热方法
  • BlueStacks安卓模拟器屏幕窗口大小的调整方法
  • 热门搜索
    节约用水手抄报图片 勤俭节约手抄报 一年级手抄报简单又好 森林防火手抄报 国庆节手抄报内容 安全手抄报内容 祖国手抄报 平安校园手抄报 西游记手抄报 手抄报