Android 项目未解析任何静态 Assets

标签 android ionic-framework capacitor

出于某种原因,我的 android 项目在 web 和 ios 上运行良好时没有解析任何指向 js/css/images 的静态路径。我没有使用 ionic ,所以也许我遗漏了一些特定的东西?然而,所有这些文件都在 android 项目中可用。

这是一张突出显示此问题的图片,您可以看到 Android 应用程序看起来完全损坏并且仅显示 base64 编码的图片。它没有应用任何样式,没有任何 js 正在工作,它只是显示一些预呈现的 html。

箭头突出显示所有这些文件确实被请求并且在 android 文件夹中

enter image description here

最佳答案

这确实是 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/

相关文章:

java - Libgdx,按钮 onclick 事件崩溃

ionic-framework - 没有 `from`选项,PostCSS可能会生成错误的源映射或找不到Browserslist配置

ios - "Editor placeholder in source file"CAPBridge.swift 中的 Swift 编译错误

angular - Http.get() 在 Ionic 4 的构建(发布/调试)中工作但不工作

android - 找不到与给定名称匹配的资源 : attr ‘android:keyboardNavigationCluster’

android - Ionic & Capacitor - Android 闪屏响应

android - Ionic6 电容器 : After adding "cordova-plugin-advanced-http", 应用程序在工作室中构建开始给出错误找不到符号 CordovaPluginPathHandler

android - adb 设备不适用于 ubuntu 上的 redmi note 3

android - 滚动到谷歌地图时,Ionic Android 应用程序崩溃

android - 从 URL 下载图像并将其保存到内部存储器的最佳方法