uni-app Android离线打包,PandoraEntry执行路径有误

发布于 1周前 作者 songsunli 来自 Uni-App

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。


1 回复

在 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.** { *; }
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!