4***@qq.com
4***@qq.com
  • 发布:2026-04-09 08:06
  • 更新:2026-04-09 08:08
  • 阅读:13

uniapp打包成apk,获取不到数据

分类:HBuilderX

uniapp在web端运行正常,但是打包成apk,安装运行,获取不到数据,已配置<uses-permission android:name="android.permission.INTERNET"/>
但是运行白屏,tabBar有显示,页面都不显示,该如何解决

2026-04-09 08:06 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

根据知识库中的相关内容,您遇到的问题可能是由以下两个原因导致的:

1. 摇树机制(Tree Shaking)导致网络请求模块未被打包

由于 uni-app 存在摇树优化机制,如果在打包前代码中没有显式使用 uni.request,打包后的 APK 中可能不会包含 request 模块,导致 App 端无法发起网络请求。

解决方案: 确保在项目中显式调用 uni.request,不要通过动态导入或条件编译等方式间接调用。例如:

// 确保在代码中直接存在 uni.request 调用  
uni.request({  
  url: 'your-api-url',  
  success: (res) => {  
    console.log(res.data);  
  }  
});

本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

2. manifest.json 中权限配置格式不正确

虽然您配置了 INTERNET 权限,但配置位置或格式可能不正确。

正确的配置方式:

{  
  "app-android": {  
    "distribute": {  
      "permissions": [  
        "<uses-permission android:name=\"android.permission.INTERNET\"/>"  
      ]  
    }  
  }  
}

本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

注意事项:

  • 权限配置应位于 app-android -> distribute -> permissions 节点下
  • permissions 是字符串数组,每个权限需要包含完整的 <uses-permission .../> 标签
  • 不要直接在 app 节点下的 permissions 中配置(该位置格式要求不同)

建议您检查 manifest.json 的源文件(manifest.json 源码视图),确认权限配置是否符合上述格式。如果配置在错误的节点下,会导致权限实际上未生效。

参考文档:Android平台额外添加权限

内容为 AI 生成,仅供参考

要回复问题请先登录注册