编解码器逻辑如何在安卓播放商店工作



一些应用程序正在发布编解码器包等,就像一个新的应用程序一样。(例如用于MX播放器等的armv7霓虹灯优化编解码器…)

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

在本机代码的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的代码都放在自己的源文件中,并且只有在ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)为true时才将这些文件添加到LOCAL_SRC_FILES中。

最新更新