更新记录

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:赞同小程序缩写

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

无1

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问