四时宝库

程序员的知识宝库

Android开发中Small插件化方案(android 插件)

创建工程

  • open Android Studio,点选 Start a new Android Studio project 创建一个Android工程。Application Name 本示例设置为 SmallDemo (您可以填写为自己的项目名称)。

集成Small

gradle.jpeg

dependencies
{ 
classpath 'com.android.tools.build:gradle:2.2.3' //注意gradle版本号 
classpath 'net.wequick.tools.build:gradle-small:1.1.0-alpha2' 
}
//在文件末尾加上
apply plugin: 'net.wequick.small'
small
{
aarVersion = '1.1.0-alpha2'
}

验证Small环境

在底部面板Terminal中输入命令:./gradlew small

如果一切正常,将成功输出:

gradle-small plugin : 1.1.0-alpha2 (maven)
small aar : 1.1.0-alpha2 (maven)
gradle core : 3.3
android plugin : 2.2.3
OS : Mac OS X 10.13.1 (x86_64)
typenamePPsdkaaptsupportfile(armeabi)size
hostapp2626.0.226.+
appapp.main0x772626.0.226.+*_main.so43.7 KB

BUILD SUCCESSFUL

配置宿主

  • 新建Application,注入Small

  • 添加构造方法来初始化Small

  • 新建Application.jpeg

public class SmallApp extends Application
{ 
public SmallApp()
{ 
Small.preSetUp(this); 
}
}
  • 在AndroidManifest.xml 中指定这个 Application

创建插件模块

  • 右键 app 模块 > New > Module

创建一个应用模块 Phone & Tablet Module,设置 Application/Library name 为 App.main,此时 Module name 自动为 app.main,Package name 为 com.leo.smalldemo.app.main

  • 确认是否启动插件

修改插件的布局文件 app.main > res > layout > activity_main.xml,将 TextView 的内容改为 This is Small Model!

编译插件

  • 先编译公共库

./gradlew buildLib -q
  • 再编译app.main

./gradlew buildBundle -q -Dbundle.arch=x86

在模拟器调试时,-Dbundle.arch=xx,可以使用x86架构,真机打包时,需要使用到armeabi架构

启动插件

  • 右键 app 模块,New > Folder > Assets Folder 新建 assets 目录

  • assets目录.jpeg

  • 再右键生成的 assets 目录,New > File 新建路由配置文件 bundle.json:

  • bundle.json

  • 修改bundle.json,添加路由

{
"version": "1.0.0",//文件格式版本,目前始终为1.0.0
"bundles": [//插件数组
{
"uri": "main",//插件唯一ID
"pkg": "com.leo.smalldemo.app.main"//插件包名
}
]
}
  • 启动app.main插件

回到宿主的 app > java > com.leo.smalldemo > MainActivity,

在 onStart 方法中我们通过上述配置的 uri 来启动 app.main 插件:

@Override
protected void onStart() {
super.onStart();
Small.setUp(this, new Small.OnCompleteListener() {
@Override
public void onComplete() {
Small.openUri("main",MainActivity.this);
}
});
}

运行宿主

  • 在顶部菜单栏,我们先选择宿主模块 app,再点击旁边的运行按钮

  • run

  • 成功运行后,将启动插件模块:

  • succeed.jpg

文中的代码已上传至github

SmallDemo

最后给大家分享之前,这里推荐下我们的Android开发技术免费直播分享群:539850601,不管你是小白还是大牛,我都挺欢迎,不定期分享干货,每天直播分享技能,包括2017最新的Android企业案例学习资料和零基础入门教程和科技前沿技术,欢迎初学和进阶中的小伙伴,大家一起交流学习,共同进步前言,

记得分享和关注我哦

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接