uniapp 打包后无法访问接口 androidmanifest.xml 如何解决

我用uniapp打包成Android应用后无法访问接口,检查发现是androidmanifest.xml文件配置有问题。请问具体需要修改哪些配置才能解决接口访问问题?打包后的应用在其他功能都正常,就是接口请求失败,应该怎么排查和修复?

2 回复

检查 AndroidManifest.xml 中的网络权限配置,确保已添加:

<uses-permission android:name="android.permission.INTERNET" />

若使用 HTTPS,检查证书是否有效。若为 HTTP,需配置网络安全策略。


在 UniApp 打包后 Android 应用无法访问接口,通常是由于 网络权限未配置HTTP 明文传输限制 导致的。请按以下步骤检查和修改 AndroidManifest.xml 文件:

1. 添加网络权限

<manifest> 标签内添加以下权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

2. 允许 HTTP 明文传输(针对 HTTP 接口)

如果接口使用 HTTP(非 HTTPS),Android 9+ 默认禁止明文传输。在 <application> 标签中添加:

android:usesCleartextTraffic="true"

3. 配置网络安全性(可选,推荐 HTTPS)

如需支持 HTTPS 或自定义证书,可创建 network_security_config.xml 文件(放在 src/main/res/xml/ 目录),并在 <application> 中引用:

android:networkSecurityConfig="@xml/network_security_config"

完整示例:

<manifest xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- 网络权限 -->
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <application
        android:usesCleartextTraffic="true"
        ...>
        <!-- 其他配置 -->
    </application>
</manifest>

注意事项:

  • UniApp 配置路径:在 HBuilderX 中,可通过「manifest.json」的「App 模块配置」→「Android 设置」勾选相关权限。
  • 生产环境建议:正式版尽量使用 HTTPS,避免开启明文传输。

完成配置后,重新打包并测试网络请求即可。

回到顶部