背景
我最近开始使用 NDK 开发一些代码,并且我想到了在使用 NDK 开发时可能出现的可移植性问题。
问题
由于 NDK 使用本机代码,因此需要按 CPU 架构进行编译。这是一个问题,因为无论设备具有什么 CPU,用户都需要运行应用程序。
到目前为止我找到的可能的解决方案
我注意到我可以修改文件“jni/Application.mk”并使用:
APP_ABI := armeabi armeabi-v7a x86
但是,我不知道从这一步开始我应该做什么。应用程序是否会包含每个 CPU 架构的所有编译代码,并在运行时自动选择正确的代码?
另外,如果会有另一个未知的 CPU 架构怎么办?
如果我尝试在 Google TV 上运行该应用程序会发生什么,根据我的记忆,它根本不支持 NDK?
我发现的另一个解决方案是多 apk 支持。但是,我不确定我是否理解它。这是否意味着您每次都使用不同的配置创建相同的 APK?没有来自 ADT 的特殊自动化工具来帮助解决这个问题?