rk3288 7.1 android.mk 編譯.so ,.jar,aidl

.so的編譯

進過測試,發(fā)現只有全編才能生成對應的so,編譯了7.8種方法發(fā)現只有這種有效
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
...
// 指定模塊運行所依賴的模塊(模塊安裝時將會同步安裝它所依賴的模塊)
LOCAL_REQUIRED_MODULES := libMemFillTool \

//這樣在編譯的時候,NDK自動會把這個libMemFillTool打包進apk; 放在apk/lib/目錄下          
LOCAL_JNI_SHARED_LIBRARIES := libMemFillTool\
             
include $(BUILD_PACKAGE)

include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_SUFFIX := .so
LOCAL_MODULE := libMemFillTool
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
//路徑
LOCAL_SRC_FILES_arm :=libs/armeabi-v7a/libMemFillTool.so
LOCAL_MODULE_TARGET_ARCHS:= arm
LOCAL_MULTILIB := both
include $(BUILD_PREBUILT)

.jar的編譯

這個使用的比較多,如下eg:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
...
LOCAL_STATIC_JAVA_LIBRARIES := gson \
             
include $(BUILD_PACKAGE)

include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := gson:libs/gson-2.2.2.jar \

include $(BUILD_MULTI_PREBUILT)

aidl的編譯

注意點:
  • 編譯的目錄只能用單級目錄
  • 變量類型map只能in類型,不能用inout類型
  • 不添加接口類eg:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
...
LOCAL_SRC_FILES := $(call all-java-files-under,src) \
  src/com/galanz/aidlserver/serialport/IAidlSerialPort.aidl \
  src/com/galanz/aidlserver/serialport/AttributeChangeCallBack.aidl \
  src/com/galanz/aidlserver/serialport/InitFinishCallBack.aidl \
  src/com/galanz/aidlserver/serialport/UpgradeCallBck.aidl \
             
include $(BUILD_PACKAGE)
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容