一直在开发 Android Webview 应用程序,我刚刚开始使用其中的 node_modules 文件夹,所以很自然地我做了一些关于如何排除它的研究,最终得到了这个问题在这里
尝试了一些答案,最适合我的答案是关于 aaptOptions 的一个
当然,我很自然地在尝试它,试图找出有效的方法,并且我成功地从调试 apk 中排除了一些文件夹。
aaptOptions {
ignoreAssetsPattern '!node_modules:!jsunmin:!.idea:!jade:!css-scss:'
}
我确实可以确认这些文件夹不包含在 Android studio 的最终 APK 中!成功!
然后我意识到我可以做一些聪明的事情:当我运行我的应用程序时,在我的端测试它,调试它,我喜欢在某些地方自动放入某些凭据 - 我用 javascript 做到这一点 - 但是显然,我不希望这些凭据包含在我可能发送到世界各地的 APK 中 - 尽管我已经对其进行了编码,除非我正在调试,否则不会自动输入凭据,但凭据仍然是实际上在 javascript 文件中,想必有人可以进去看看并看到它们!
所以我的想法是创建一个文件“example-creds.js”,并使用 aaptOptions 不包含该文件,仅在发布版本上,所以我想出了一些看起来大约像这样的东西(删除了额外的细节):
android {
buildTypes {
release {
aaptOptions {
ignoreAssetsPattern '!node_modules:!jsunmin:!.idea:!jade:!css-scss:!example-creds.js:'
}
}
debug {
aaptOptions {
ignoreAssetsPattern '!node_modules:!jsunmin:!.idea:!jade:!css-scss:'
}
}
}
}
但这不起作用!我已经测试过它,它似乎可以运行最后定义的 aaptOptions ,无论构建类型如何。如果我将发布放在调试之后,则在任何一个构建中都不会获得示例信用。如果我在发布之后进行调试,我会在两者中获得示例信用。
我怎样才能得到我正在寻找的东西?