android studio 自定义mk文件

之前说studio编译c代码都不用编写mk,在gradle里面配置一下就行了。很多时候都需要自己编写mk文件,比如引用别人库的时候。
需要告诉studio不要默认的编译 了。用手动编译在gradle的android里面

        //用studio来的来编译
//        ndk {
//            moduleName "callback" //设置库(so)文件名称
//            ldLibs "log"//实现__android_log_print
//            abiFilters "armeabi", "armeabi-v7a", "x86"
//        }
//自己用ndk build来编辑
        sourceSets.main {
            jni.srcDirs = []
            jniLibs.srcDir 'src/main/libs'
        }

改成这样,就是不让studio编译jni目录了。 直接指定一下so目录就行。
编译就需要我们用ndk-build来进行编译了。
mk的文件如下,放在jni目录就行

LOCAL_PATH := $(call my-dir)

#第一个so
include $(CLEAR_VARS)
LOCAL_MODULE    := mk_callback_c
LOCAL_SRC_FILES := callback.c
LOCAL_LDLIBS :=-llog

#include $(BUILD_EXECUTABLE)
include $(BUILD_SHARED_LIBRARY)


#第二个so
include $(CLEAR_VARS)
LOCAL_MODULE    := mk_callback_cpp
LOCAL_SRC_FILES := hello.cpp
LOCAL_LDLIBS :=-llog
LOCAL_DEFAULT_CPP_EXTENSION := cpp

#include $(BUILD_EXECUTABLE)
include $(BUILD_SHARED_LIBRARY)

这里把c /c++分为2个so,可以在一起。然后执行ndk-build
spc@spc-PAF4:~/programming/jni/MyApplication/callbcakdemo/src/main/jni$ ndk-build

然后自动生成lib目录和so,直接运行就可以实现了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值