.mk文件的基本配置

95 篇文章 0 订阅

--------------------------------------   .mk配置   ------------------------------------------------------------

早期的ndk开发,是需要配置.mk文件类型现在的cmake文件作用

#这里能够决定编译 Login.c

#1源文件的位置, 宏函数my-dir 返回当前目录(包含 Android.mk 文件本身的目录)的路径
LOCAL_PATH := $(call my-dir)

#2清理
include $(CLEAR_VARS)

#3存储你要构建的模块的名称 每个模块名称必须唯一 且不含任何空格
#如果模块名称的开通已是 lib 则构建系统不含附加额外的前缀 lib 而是按原样采用模块名称 并添加.so 扩展名
#最后mk会构建出libMyLoginJar.so
LOCAL_MODULE :=myLoginJar


#4指定模块 C 或者c++源文件(.h是申明文件 .c是源文件)   以空格分开  使用连接符 反斜杠 (\)
#Login.c 就是cpp文件夹中新建的 .c文件
LOCAL_SRC_FILES :=main/cpp/Login.c \
main/cpp/Register.c



#5构建静态库 还是动态库

#静态库 .a
#include $(BUILD_STATIC_LIBRARY)

#动态库 .so
include $(BUILD_SHARED_LIBRARY)

 

------------------------------------  app.build的配置   ------------------------------

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "cn.zdh.ndk4"
        minSdkVersion 21
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

        //TODO 配置编译方式 的编译区域 (armeabi-v7a x86)
        externalNativeBuild {
            ndkBuild {
                abiFilters 'armeabi-v7a'
                abiFilters 'x86' //x86一般开发不配置 用于支持模拟器(但是增加apk体积)
            }
        }


        //TODO 指定打包 应该打哪几种CPU架构模式(你的apk需要兼容那些平台)
        ndk{
            abiFilters'armeabi-v7a'
            abiFilters'x86'//x86一般开发不配置 用于支持模拟器(但是增加apk体积)
        }

    }

    //TODO 指定脚本路径
    externalNativeBuild {
        ndkBuild {
            path 'src/Android.mk'
        }
    }



    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

 

下面是AS build 后的效果图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值