Android.mk语法详解

https://blog.csdn.net/HongHua_bai/article/details/122159169
https://blog.csdn.net/afei__/article/details/84069876

NDK工程

  • src 文件中包含着 Java 源文件、jni 目录。jni 目录下包含着 .cpp / .mk ;

  • jni/Android.mk 描述如何把 hello_mk.cpp 等文件构建成一个动态库,其内容如下:

  • 在工程 app 下的 build.gradle 文件下对 Android.mk / Appplication.mk 文件位置的声明一般有两种方式:
    方式一:

  • android {
        ...
        task ndkBuild(type:Exec,description:'NDK Project'){
            commandLine "C:\\Users\\ndk-build.cmd",//配置ndk的路径
                'NDK_PROJECT_PATH=build/intermediates/ndk',       // ndk默认的生成so的文件路径
                'NDK_LIBS_OUT=src/main/jniLibs',           // 配置的我们想要生成的so文件所在的位置
                'APP_BUILD_SCRIPT=src/main/jni/Android.mk',   // 指定项目的 Android.mk 所在位置
                'NDK_APPLOCATION_MK=src/main/jni/Application.mk' 
        }

        tasks.withType(JavaCompile){   //使用ndkBuild
            compileTask ->compileTask.dependsOn ndkBuild
        }
    }

    方式二:(方式二需要工程的 setting.gradle 文件配合声明 NDK 的所在位置)

  • android {
        ...
        defaultConfig {
            ...
            externalNativeBuild {
                ndkBuild {
                    arguments 'NDK_APPLICATION_MK:=src/main/jni/Application.mk'
                    cFlags ''
                    cppFlags ''
                    abiFilters 'arm64-v8a, armeabi-v7a, x86, x86_64'
                }
            }
        }

        externalNativeBuild {
            ndkBuild {
                path 'src/main/jni/Android.mk'
            }
        }
    }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值