uni-app Android离线打包,PandoraEntry执行路径有误
uni-app Android离线打包,PandoraEntry执行路径有误
项目信息 | 详情 |
---|---|
产品分类 | uniapp/App |
PC开发环境 | Mac |
PC操作系统版本 | 13.3.1 |
HBuilderX类型 | 正式 |
HBuilderX版本 | 3.99 |
手机系统 | Android |
手机系统版本 | Android 10 |
手机厂商 | 华为 |
手机机型 | mate60 |
页面类型 | vue |
vue版本 | vue2 |
打包方式 | 离线 |
项目创建方式 | HBuilderX |
示例代码:
android {
compileSdkVersion 30
buildToolsVersion '30.0.3'
defaultConfig {
applicationId "com.abcdef"
}
}
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.abcdef">
操作步骤:
在修改bundle.gradle
文件中的 defaultConfig => applicationId
的值、以及修改了AndroidManifest.xml
文件中的package
值内容后。使两者值内容一致。
预期结果:
打包成功,开发者工具跟手机正常链接
实际结果:
打包成功,开发者工具提示找不到PandoraEntry
bug描述:
最新的Android离线打包文件,PandoraEntry执行路径有误。在修改bundle.gradle
文件中的 defaultConfig => applicationId
的值、以及修改了AndroidManifest.xml
文件中的package
值内容后。使两者值内容一致。再次执行打包到手机端,会提示找不到PandoraEntry。
在 uni-app 进行 Android 离线打包时,如果遇到 PandoraEntry
执行路径有误的问题,通常是因为配置不正确或路径引用错误。以下是一些可能的原因和解决方案:
1. 检查 PandoraEntry
的路径配置
PandoraEntry
是 uni-app 离线打包时用于加载 H5 资源的入口类。确保在 AndroidManifest.xml
中正确配置了 PandoraEntry
的路径。
示例配置:
<application
android:name="io.dcloud.PandoraEntry">
<!-- 其他配置 -->
</application>
如果路径配置错误,可能会导致应用无法正常启动。
2. 确保依赖库已正确引入
离线打包需要依赖 uni-app 的 SDK 和相关库。检查以下内容:
- 确保
uniapp-release.aar
或其他 uni-app SDK 文件已正确引入项目。 - 检查
build.gradle
中是否配置了正确的依赖。
示例依赖:
dependencies {
implementation fileTree(dir: 'libs', include: ['*.aar'])
// 其他依赖
}
3. 检查 assets
文件夹中的资源
uni-app 的 H5 资源会打包到 assets
文件夹中。确保以下内容:
assets
文件夹中存在apps
文件夹,并且其中包含正确的应用资源。- 检查
data/dcloud_control.xml
文件是否存在,并且配置正确。
示例 dcloud_control.xml
:
<apps>
<app appid="__UNI__XXXXXX" appver="1.0.0" />
</apps>
4. 检查混淆规则
如果启用了混淆(ProGuard),需要确保 PandoraEntry
和相关类没有被混淆。
示例混淆规则:
-keep class io.dcloud.** { *; }
-keep class com.tencent.smtt.** { *; }