2013-08-05 42 views
0

某些應用程序正在發佈編解碼器包等,就像是一個新的應用程序。 (例如MX播放器的armv7霓虹優化編解碼器等)編解碼器邏輯如何在Android Play商店中工作?

我想知道這一點,因爲目前我禁用霓虹燈,使Android應用程序與更多設備兼容。如果我能理解那裏發生的事情,我可以爲自己做一個類似的事情,所以新設備的所有者可以安裝霓虹燈優化庫?

回答

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特定的代碼放在其自己的源文件中,並且只在ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)爲真時將這些文件添加到LOCAL_SRC_FILES

+0

謝謝。我實際上需要將這些ndk庫分開存儲,並讓用戶根據自己的意願單獨下載它們。然後,主應用程序將相應地加載它們。分開編解碼器邏輯,正如我在我的應用程序中提到的那樣。他們如何做到這一點? – frankish