美文网首页
rk3288 7.1 android.mk 编译.so ,.ja

rk3288 7.1 android.mk 编译.so ,.ja

作者: 飘飘如叶 | 来源:发表于2020-04-06 17:04 被阅读0次

    .so的编译

    进过测试,发现只有全编才能生成对应的so,编译了7.8种方法发现只有这种有效
    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)
    

    相关文章

      网友评论

          本文标题:rk3288 7.1 android.mk 编译.so ,.ja

          本文链接:https://www.haomeiwen.com/subject/ryvbphtx.html