出于某种原因,我的 android 项目在 web 和 ios 上运行良好时没有解析任何指向 js/css/images 的静态路径。我没有使用 ionic ,所以也许我遗漏了一些特定的东西?然而,所有这些文件都在 android 项目中可用。
这是一张突出显示此问题的图片,您可以看到 Android 应用程序看起来完全损坏并且仅显示 base64 编码的图片。它没有应用任何样式,没有任何 js 正在工作,它只是显示一些预呈现的 html。
箭头突出显示所有这些文件确实被请求并且在 android 文件夹中
最佳答案
这确实是 Android 的“功能”。
默认情况下,它不会将以 _
开头的 Assets 文件夹复制到生成的 apk(参见 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
inside android -> defaultConfig
android {
...
defaultConfig {
...
aaptOptions {
ignoreAssetsPattern '!.svn:!.git:!.ds_store:!*.scc:!CVS:!thumbs.db:!picasa.ini:!*~'
}
}
}
关于Android 项目未解析任何静态 Assets ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59156104/