前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >NDK开发_AndroidStudio中创建和编译ndk流程

NDK开发_AndroidStudio中创建和编译ndk流程

作者头像
小驰随想录
发布2021-04-30 14:35:58
1.1K0
发布2021-04-30 14:35:58
举报
文章被收录于专栏:Android Camera开发Android Camera开发

一、根据native类生成 native类的头文件

代码语言:javascript
复制
 1> 如下图所示,com.lhs.serial.ObdNative 是自己建的native类;

 2> cmd 切到 工程的java目录下, 输入 javah -d ../jni com.lhs.serial.ObdNative;

 3> 可以看到 在 jni文件目录下,生成了 com_lhs_serial_ObdNative.h ;

 4> 新建 .cpp ,实现 com_lhs_serial_ObdNative.h 中的内容;

二、编译 .cpp ,生成 .so

1) 在 jni目录下新建 Android.mk

2) 修改gradle,根据Android.mk 自动编译 .cpp

代码语言:javascript
复制
app 目录下的 build.gradle 配置
代码语言:javascript
复制
android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"

    defaultConfig {
        applicationId "com.mct.interation.service"
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"

        externalNativeBuild {
            ndkBuild{
                abiFilters 'armeabi-v7a'
            }
        }
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    externalNativeBuild {
        ndkBuild{
            path 'src/main/jni/Android.mk'
        }
    }
}

task ndkClean(type: Delete) {
    delete ".externalNativeBuild/"
}

clean.dependsOn 'ndkClean'

工程根目录下的build.gradle, class path 中的gradle版本需要修改为2.2.0以上 (不然会报错找不到 externalNativeBuild 方法)

三、完成上面步骤后,运行工程的时候,就会自动生成 .so,并打包进 apk

【遇到的问题】

1)Could not find method externalNativeBuild() for arguments

[action]

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-12-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小驰成长圈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、根据native类生成 native类的头文件
  • 二、编译 .cpp ,生成 .so
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档