You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ionic 3安卓打包后API接口GET请求404问题求助

解决Ionic Cordova安卓构建后API 404的问题

我之前也碰到过一模一样的坑!本地用ionic serve测试接口全正常,一打包成安卓release(甚至debug)版本就出现GET 404,折腾了好一阵才捋清楚几个关键排查点,你可以挨个试试:

  • 别用localhost/127.0.0.1作为API地址
    本地开发时,localhost指向你的开发机器,但安卓设备或模拟器是独立的系统,它的localhost是自己本身,自然访问不到你的本地API。要换成开发机的局域网IP(比如http://192.168.1.100:3000/api),如果是生产构建,记得切换到正式环境的API域名。

  • 检查安卓网络权限与明文HTTP限制

    1. 确认platforms/android/app/src/main/AndroidManifest.xml里有没有添加网络权限:
      <uses-permission android:name="android.permission.INTERNET" />
      
    2. 如果你用的是HTTP而非HTTPS,Android 9及以上默认会拦截明文请求。需要在res/xml/network_security_config.xml中配置允许明文:
      <?xml version="1.0" encoding="utf-8"?>
      <network-security-config>
          <base-config cleartextTrafficPermitted="true" />
      </network-security-config>
      
      然后在AndroidManifest.xml的<application>标签里添加引用:
      android:networkSecurityConfig="@xml/network_security_config"
      
  • 确认Prod环境的API配置正确
    如果你用了Ionic的环境变量,src/environments/environment.prod.ts里的API地址一定要和environment.ts区分开!因为执行--prod构建时,Ionic会自动加载prod环境的配置,别不小心把本地地址留在prod配置里了。
    可以临时在接口调用处加个日志:console.log('当前API地址:', environment.apiUrl),然后用ionic cordova run android --prod -l启动livereload模式,通过logcat查看输出,确认地址是否正确。

  • 验证设备网络与API可达性
    先排除网络本身的问题:在安卓设备的浏览器里直接输入API的完整地址,看看能不能正常返回数据。如果浏览器也访问不了,那要么是设备没连对网络(比如本地API需要和开发机同局域网),要么是API服务本身有问题。

  • 注意Cordova打包后代理不生效
    本地开发时你可能在ionic.config.json里配置了代理来解决CORS问题,但打包成安卓后,Cordova的WebView不需要代理,直接访问真实API地址即可。这时候要确保后端API已经配置了正确的CORS规则,允许安卓应用的请求(开发阶段可以临时允许所有跨域,生产环境建议限制具体域名)。

如果以上方法都试过还是不行,可以补充下你的Ionic/Cordova版本、安卓系统版本、API地址类型(本地/线上)这些细节,方便进一步排查!

内容的提问来源于stack exchange,提问作者Vinicius Andrade

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:57:50