AndroidStudio NDK开发及踩得一些坑

使用动态注册jni函数:https://blog.csdn.net/wanghao200906/article/details/79153172
编译jni文件:https://blog.csdn.net/qq_22494029/article/details/79079918
Android NDK 开发:https://blog.csdn.net/allen315410/article/details/41826511

踩的坑
1、已创建的demo,创建时没有选在支持C++,网上很多资料是基于已选择支持C++的指导。
解决方法:个人理解,创建项目时向导可设置的,项目创建后都可以配置。因此直接添加C++目录及代码。

2、在创建目录时,AndroidStudio中提供创建目录,适用于jni的是创建一个jni目录
在这里插入图片描述
把C++文件放进去后,右键添加jni的module,选择 “Link C++ Project with Gradle”。这时在src/main下新增了一个CPP文件夹,之前添加的C++文件也找不到。

在工程目录下查看,实际没有生成CPP文件夹,这是把创建的jni目录改为CPP,在AndroidStudio刷新工程。这时就可以看到新增的cpp文件以及ndk的一些.h文件。
在这里插入图片描述
在这里插入图片描述
3、在module下的build.gradle增加对CMakeList.txt的依赖,同步时保找不到一些函数,如path
在这里插入图片描述

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.itech.demo"
        minSdkVersion 22
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
		// so支持的cpu架构
        ndk {
            // Specifies the ABI configurations of your native
            // libraries Gradle should build and package with your APK.
            abiFilters 'armeabi-v7a'
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    // jni编译依赖
    externalNativeBuild {
        cmake {
            path file('CMakeLists.txt')
        }
    }
}

解决方法:
File–>settings–>Plugins,去掉Android NDK Support的勾选,重启AndroidStudio即可。
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值