0

一些应用程序正在发布编解码器包等,例如新应用程序。(例如用于 MX Player 等的 armv7-neon 优化编解码器等...)

我很想知道这一点,因为目前我正在禁用霓虹灯以使 android 应用程序与更多设备兼容。如果我能理解那里发生了什么,我可以为自己做一个类似的事情,所以新设备的所有者可以安装霓虹灯优化库?

4

1 回答 1

0

在本Application.mk机代码的文件中,您可以指定要定位的 ABI。例如:

APP_ABI := armeabi armeabi-v7a

这表示您想为 ARMv7 和较旧的 ARMv6(或者可能是 v5)构建本机代码。这两个版本的库都将包含在您的应用程序中,最合适的版本将在运行时自动加载。

然后你可以在你的Android.mk里面放这样的东西:

ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
    LOCAL_CFLAGS := -DHAVE_NEON=1
    LOCAL_ARM_NEON := true
endif

然后,您可以将特定于 NEON 的代码放在源文件中的#ifdef HAVE_NEON ... #endif. 另一种选择是将所有 NEON 特定代码放在其自己的源文件中,并且仅将这些文件添加到LOCAL_SRC_FILESwhenifeq ($(TARGET_ARCH_ABI),armeabi-v7a)为 true 时。

于 2013-08-05T16:39:55.890 回答