更新记录
1.12.1.3(2020-05-20) 下载此版本
wqdqwd
1.12.1(2020-05-20) 下载此版本
wqeqeqeqeqe
平台兼容性
aemp-sdk
SDK 接入
编译运行基座工程
将 Android 设备与电脑连接或启动 Android 模拟器,在Android Studio中,选择 File > Open...
并选择 app
文件夹,aemp Android工程,待成功导入后,点击工具栏中的 Run
按钮,即可编译安装运行基座。
小程序运行环境
目前 SDK 最低支持的 Android 系统版本为 4.2 [minSdkVersion 17
],目标运行的Android系统版本为5.1 [targetSdkVersion 26
]。
build 接入
在你要接入的工程的 build.gradle
文件中添加如下配置:
repositories {
jcenter()
}
dependencies {
implementation project(':sdk')
}
即可让你的工程拥有运行小程序的能力。
SDK初始化
在使用 AEMP 框架运行你的小程序之前,你应该选择合适的时机在主进程中对框架进行配置并完成初始化工作,例如示例工程在 AempApplication.java
中进行了初始化操作:
public class AmpApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// 在主进程中初始化框架配置,启动框架服务进程
if (AmpTrace.isMainProcess(this)){
AmpConfig config = new EmpConfig.Builder()
.addExtendsApi(new XxxApi()) // 添加自定义扩展API,可连续调用添加或传入一组api列表
.setDebug(true) // 调试模式
.build();
AmpService.start(this.getApplicationContext(), config);
}
}
}
其中 addExtendsApi
用于添加自定义扩展API, 详见自定义扩展API。
打开小程序页面
启动小程序页面也非常简单,只需调用 launchHome
方法,并传入相应参数:
AmpService.launchHome(
getApplicationContext(),
userId, // 标识宿主App业务用户id,不可为空
appId, // 标识小程序业务的id,不可为空
appPath // 指定小程序zip资源文件的本地存储路径,如果未空则读取并解压 assets 下以appId命名的zip文件
);
SDK 开发
SDK 包结构
├── api 拓展API
| ├── AbsApi API抽象类
| ├── ApisManager API管理类
| ├── BaseApi API基类
| ├── debug debug模块
| | └── DebugModule debug模块实现
| └── ...
├── config
| ├── AppConfig 小程序全局配置,解析app.json的内容
| └── EmpConfig 框架配置
├── interfaces 接口类
├── main 小程序入口
| ├── EmpActivity 小程序入口 Activity
| ├── EmpService 小程序入口 SDK 进程 Service
| ├── PageManager 小程序页面管理类,负责管理页面栈
| └── EmpAppManager 小程序资源管理类,负责解压小程序
├── model 数据结构类
| ├── Event 事件
| └── TabItemInfo 底部状态栏选项卡
├── page
| ├── Page Page视图层,即小程序view展示层
| └── view Page视图元素
| | ├── NavigationBar
| | ├── PageWebView
| | ├── TabBar
| | └── TabItemView
├── service
| ├── AppService AppService层,小程序运行的基石,即 framework 的运行时
| └── view
| | └── ServiceWebView 逻辑层的运行容器
├── remote
| └── RemoteService 远程服务,运行在宿主App进程
├── scancode 扫码组件
├── trace 简单的日志输出类
├── utils 工具类
├── web
| ├── EmpWebView
| ├── EmpWebViewClient
| └── JSInterface
└── widget 通用组件
SDK 第三方库依赖说明
库名 | 版本号 | 说明 |
---|---|---|
com.android.support:support-v4 | 26.1.0 | - |
com.android.support:appcompat-v7 | 26.1.0 | - |
com.android.support:recyclerview-v7 | 26.1.0 | - |
com.android.support:design | 26.1.0 | - |
com.android.support:support-annotations | 26.1.0 | - |
com.google.zxing:core | 3.3.0 | 图像解码核心库 |
com.google.zxing:android-core | 3.3.0 | 图像解码 Android 平台库 |
com.google.code.gson:gson | 2.8.1 | JSON 序列化/反序列化库 |
com.squareup.okhttp3:okhttp | 3.7.0 | 网络请求 |
com.github.bumptech.glide:glide | 3.7.0 | 图片加载库 |
me.iwf.photopicker:PhotoPicker | 0.9.5 | - |
com.facebook.stetho:stetho | 1.5.0 | - |
com.facebook.stetho:stetho-okhttp3 | 1.5.0 | - |
命名规范
Amp:赞同小程序缩写