我正在将本机 C++ 引擎移植到 Android NDK。在尝试了一些环境和工具之后,我发现最新的 vs-android (0.9) 是最舒服的。我确实有一些问题(有些我可能需要在以后的问题中提出),但现在 - 这是一个:
本机引擎编译为本机共享库。我们希望引擎兼容 android-8 API (android 2.2)。
我们有一些内部使用的测试应用程序。我也将其中一个移植到了 Android,但由于我使用的是本机活动(以及最重要的本机应用程序胶水),它需要 android-9 (2.3)。
我有一些模块项目 - 静态库 - 用于引擎和测试器应用程序。我需要将这些编译为引擎的 android-8 和测试仪的 android-9。除此之外,我们还希望同时支持 arm5 和 arm7。
使用 ndk 构建脚本,我可以很容易地做到这一点。在 MS-Build(vs-android 使用)中,它似乎需要指数级的配置(不要忘记调试/配置文件/发布)。
有没有办法在不创建所有这些配置的情况下做到这一点?这样,例如,当我构建引擎时,它将为 android-8 以及 arm5 和 arm7 编译模块,而当我构建测试器时,它将为 android-9 和 arm5 和 arm7 编译模块,而无需为每个项目和调试、配置文件、发布创建 4 个几乎相同的配置?
我找到了这个,但我不确定如何使用它以及是否可以在这里应用父/子项目的技术。
(告诉我“不要再懒惰了,只需创建配置,尽管事实上无论何时你想更改参数,你都必须在所有配置中更改它”作为评论是可以接受的,但请 - 不要作为答案。 “使用 ndk-build 并手动构建你的 apk 而不是使用 vs-android”也是如此)。
谢谢!
(顺便说一句,有人可以添加一个 vs-android 标签吗?)
编辑: 我想出了一个部分解决方案 - 仅针对 API 级别的问题。请看下面我的回答。