由于某种原因,我的 android 项目无法解析 js / css / 图像的任何静态路径,而它在 web 和 ios 上运行良好。我没有使用离子,所以也许我错过了一些特定的东西?然而,所有这些文件都可以在 android 项目中使用。
这是突出显示此问题的图像,您可以看到 Android 应用程序似乎完全损坏,并且仅显示 Base64 编码的图像。它没有应用任何样式,没有任何 js 正在工作,它只是显示一些预渲染的 html。
箭头突出显示所有这些文件确实正在被请求并且位于 android 文件夹内
这确实是 Android 的一个“功能”。
默认情况下,它不会复制以以下开头的资产文件夹_
到生成的 apk(参见https://android.googlesource.com/platform/frameworks/base/+/b41af58f49d371cedf041443d20a1893f7f6c840/tools/aapt/AaptAssets.cpp#60 https://android.googlesource.com/platform/frameworks/base/+/b41af58f49d371cedf041443d20a1893f7f6c840/tools/aapt/AaptAssets.cpp#60).
您可以通过添加自定义来解决此问题aaptOptions
使用要忽略的模式,删除 _* 以便复制它们。像这样的事情:
aaptOptions {
ignoreAssetsPattern '!.svn:!.git:!.ds_store:!*.scc:!CVS:!thumbs.db:!picasa.ini:!*~'
}
它应该进入应用程序的build.gradle
在 android -> defaultConfig 中
android {
...
defaultConfig {
...
aaptOptions {
ignoreAssetsPattern '!.svn:!.git:!.ds_store:!*.scc:!CVS:!thumbs.db:!picasa.ini:!*~'
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)