Ionic Angular项目运行Android模拟器报net::ERR_FILE_NOT_FOUND错误求助
问题解决思路
你的问题本质是file://协议下资源路径解析错误,或构建阶段资源未正确打包到APK产物中,可按以下顺序排查:
- 修正
base href配置
打开项目根目录下src/index.html,将<base href="/">修改为<base href="./">。同时打开angular.json,找到projects -> 你的项目名 -> architect -> build -> options配置项,将其中的baseHref字段值也改为./。如果设置为绝对路径/,file://协议下会直接从系统根目录寻址,而非APP的内置资源目录。 - 检查Angular资源打包配置
同上打开angular.json的build配置下的assets数组,确认已包含src/assets项,否则构建时不会将src/assets下的文件输出到最终的www目录。 - 调整Cordova安卓适配配置
打开项目根目录下的config.xml,确认<content src="index.html" />配置未被篡改,同时添加如下配置适配高版本安卓的文件访问限制:<preference name="AndroidInsecureFileModeEnabled" value="true" /> - 验证构建产物是否包含目标资源
执行ionic build后,打开输出的www目录,检查www/assets/others/路径下是否存在对应的js文件;也可直接解压生成的APK安装包,查看assets/www/assets/others/路径下是否存在目标文件:- 如果不存在,说明是本地构建流程遗漏了资源复制,检查项目中是否有自定义的构建钩子修改了资源输出逻辑
- 如果存在,说明是前端路径解析问题,检查所有资源引用路径是否使用了相对路径,不要使用
/assets/xxx这类开头带/的绝对路径,统一改为./assets/xxx格式
- 检查资源引用规则
如果你在angular.json的styles、scripts数组或index.html中直接引入了这些braintree相关资源,确认引入路径使用相对路径,不要写绝对路径。
内容的提问来源于stack exchange,提问作者Intelligentprojects
相关产品推荐
相关产品推荐

