我有一個小型的C++庫,必須針對armeabi和armeabi7a進行編譯。我也有一個非常大的C++庫,只需要爲armeabi編譯。現在他們正在編譯(使用NDK)兩種架構,但這使得我的.apk非常大。是否有可能將大型圖書館只編譯爲armeabi?我將如何做到這一點?Android NDK:編譯不同架構的不同庫
我的文件夾結構是這樣的:
/jni/biglib/
/jni/smalllib/
/jni/Application.mk
/jni/Android.mk
我/jni/Application.mk文件包含:
APP_ABI := armeabi-v7a armeabi
APP_OPTIM := release
我的根/jni/Android.mk文件結合了Android.mk每個庫的文件:
LOCAL_PATH := $(call my-dir)
LOCAL_C_INCLUDE := $(LOCAL_PATH)/include
include $(addprefix $(LOCAL_PATH)/, $(addsuffix /Android.mk, \
biglib \
smalllib \
))
你可以破解你的小模塊,從而'armeabi'版本在'armeabi7a'設備上執行時效果相當不錯? – mvp
我不這麼認爲......這是第三方庫,它在文檔中說它必須分別編譯爲armeabi7a – slamnjam