LOCAL_REQUIRED_MODULES 在apk的使用

本文详细介绍了如何通过修改Makefile文件,解决在Android应用开发中遇到的两个未编译到system/lib的So文件问题。通过本地模块引用调整,确保所有依赖的So文件在编译过程中被正确处理,最终成功构建应用。

有两个用到的so文件没有编译到system/lib下面

apk直接修改makefile 文件引用该模块 使得可以编译出来 

LOCAL_REQUIRED_MODULES := \
    libnbtscan \
    libsamba_jni \


编译的时候先make clean 然后再make

LOCAL_PATH := $(call my-dir) #指定当前目录 include $(CLEAR_VARS) #引入编译变量 LOCAL_MODULE := hello #编译出来的模块名 LOCAL_MODULE_TAGS := optional #编译选项便是在何种情况下编译 LOCAL_SRC_FILES := hello.c #源文件(可以指定多个) LOCAL_MODULE_CLASS := EXECUTABLES #指定编译之后放置的位置 include $(BUILD_EXECUTABLE) #引入编译成可执行文件的规则 LOCAL_PACKAGE_NAME #指定APP应用名称 LOCAL_PRIVATE_PLATFORM_APIS := true #设置后,会使用sdk的hide的api來编译 LOCAL_USE_AAPT2 := true #aapt 是编译和打包资源的工具。而aapt2是在aapt上做了优化 LOCAL_JNI_SHARED_LIBRARIES := libbluetooth_jni #声明要使用到的共享 JNI 库的名称 LOCAL_JAVA_LIBRARIES := javax.obex telephony-common services.net #指定依赖的共享java类库,这个是编译时依赖,最终不会打包 LOCAL_STATIC_JAVA_LIBRARIES := \ com.android.vcard \ bluetooth.cc\ services.net \ libprotobuf-java-lite \ #指定依赖的静态java类库,最终会打包到apk里面。引用多个的时候,可以像上面那样写。 LOCAL_STATIC_ANDROID_LIBRARIES := android-support-v4 #声明要调用 android 的包,这里是v4包 LOCAL_REQUIRED_MODULES := libbluetooth #指定依赖的模块。一旦本模块被安装,通过此变量指定的模块也将被安装 LOCAL_PROGUARD_ENABLED := disabled #混淆配置,默认为full obfuscation,全代码混淆,disabled不开启 include $(BUILD_PACKAGE) #编译成APK 文件 include $(BUILD_STATIC_JAVA_LIBRARY) #生成静态JAVA库 解释一下这些配置,以及配置的作用
12-25
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值