Tra*_*ian 6 android build cross-compiling native-code android-ndk
用于编译本机代码的 NDK 版本与安装 APK 的设备上运行的 Android 版本之间是否存在任何关系(约束/兼容性限制)?
例如,我使用Android NDK r7编译本机代码,获取库并生成APK1;然后我用 NDK r10d 编译,获取库并生成 APK2。
在同一设备上运行的 APK1 和 APK2 之间是否有可能出现不同的行为?
在 NDK 中发现并修复了错误。所以后来的版本一般都比较好。但后续版本中可能会引入错误,因此请继续跟踪论坛(例如SO和groups/android-ndk),跟踪问题,并随时准备升级。
NDK 中包含的编译器随着时间的推移而改进,包括优化。因此,更高版本可能会产生更快的可执行文件。
此外,虽然 64 位系统可以运行 32 位可执行文件,但更高版本的 NDK 可以生成本机 64 位二进制文件,在此类设备上速度会快得多。
不要将 NDK 版本与平台混淆!即使 r.10e 也支持所有旧平台,但如果您为android-21构建应用程序,它不会加载到带有Froyo的设备上。另一方面,前向可比性通常是好的,大多数为android-9构建的程序将在所有最新设备上运行,但可能会出现故障,并且此类二进制文件可能未充分利用新平台,并且效率低于为 android-9 编译的程序最高的平台。
| 归档时间: |
|
| 查看次数: |
1101 次 |
| 最近记录: |