2 回复
官方渠道下载:
访问 DCloud 官方下载页面
选择与您 UniApp 版本匹配的 SDK 版本
更多关于uni-app android 离线sdk的实战教程也可以访问 https://www.itying.com/category-93-b0.html
UniApp 提供了 Android 离线 SDK,允许开发者在本地环境中集成 UniApp 功能到原生 Android 应用中,而不需要依赖在线打包服务。
获取UniApp 离线 SDK
-
官方渠道下载:
- 访问 DCloud 官方下载页面
- 选择与您 UniApp 版本匹配的 SDK 版本
-
SDK 包含内容:
- 核心库文件 (.aar)
- 依赖的第三方库
- 示例项目
- 文档和集成指南
集成步骤
1. 导入 SDK 到 Android 项目
// 在项目的 build.gradle 中添加仓库
allprojects {
repositories {
flatDir {
dirs 'libs' // 指定存放aar的目录
}
}
}
// 在模块的 build.gradle 中添加依赖
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
// 其他uni-app所需依赖...
}
2. 配置 AndroidManifest.xml
<application
android:name="io.dcloud.application.DCloudApplication"
...>
<activity
android:name="io.dcloud.PandoraEntryActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:launchMode="singleTask"
android:hardwareAccelerated="true"
android:theme="@style/TranslucentTheme"
android:screenOrientation="user">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
3. 初始化 UniApp 运行时
在 Application 类中初始化:
public class MyApplication extends DCloudApplication {
@Override
public void onCreate() {
super.onCreate();
// 初始化SDK
InitSDK.init(this);
}
}
加载 UniApp 页面
1. 放置 UniApp 资源
将 UniApp 打包后的资源(通常是 www 文件夹)放入 Android 项目的 assets 目录中。
2. 启动 UniApp 页面
Intent intent = new Intent();
intent.setClass(this, PandoraEntryActivity.class);
intent.putExtra("path", "/pages/index/index"); // 指定启动页面
startActivity(intent);
常见问题解决
-
资源加载失败:
- 检查资源是否完整放置在 assets 目录
- 确认打包时的应用标识与原生项目一致
-
原生与UniApp通信:
// UniApp调用原生方法 DCUniMPSDK.getInstance().sendEventToUniMP("eventName", data); // 原生接收UniApp事件 DCUniMPSDK.getInstance().setOnUniMPEventCallBack(new OnUniMPEventCallBack() { @Override public void onUniMPEventReceive(String event, Object data) { // 处理事件 } });

