Android专案无法解决任何静态资产

时间:2019-12-03 11:29:23

标签: android ionic-framework capacitor

由于某种原因,我的android项目无法解析到js / css / images的任何静态路径,而在Web和ios上都能正常工作。我没有使用离子,所以也许我缺少一些特定的东西?但是,所有这些文件都可以在android项目中使用。

这里是突出显示此问题的图像,您可以看到android应用程序看起来完全坏了,只显示了base64编码的图像。它没有应用任何样式,也没有任何js在起作用,它只是显示一些预先渲染的html。

箭头突出显示所有这些文件的确已被请求并且位于android文件夹中

enter image description here

1 个答案:

答案 0 :(得分:1)

这确实是Android的“功能”。

默认情况下,它不会将以_开头的资产文件夹复制到生成的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:!*~'
}

它应该放在android-> defaultConfig中的应用程序的build.gradle

android {
    ...
    defaultConfig {
        ...
        aaptOptions {
            ignoreAssetsPattern '!.svn:!.git:!.ds_store:!*.scc:!CVS:!thumbs.db:!picasa.ini:!*~'
        }
    }
}