欢迎使用6miu-markdown编辑器

    xiaoxiao2021-03-26  21

    Android Studio 的NDK基础篇

    NDK环境搭建及基础使用

    Create by TongZhenggang@126.com

    2016/12/8

    本文档主要介绍了Android Studio NDK环境下使用,.SO文件生成Lib使用等内容,可以使安卓开发者快速上手NDK开发,以及完成简单的HelloWord程序制作。

      目录 第一步:NDK环境的搭建 2 ①jdk,Android SDK这些准备充分(只要能正常使用Android Studio的,这一条基本不用考虑) 2 ②下载NDK,可以通过Android Studio的Project Structure下载 2 第二步:新建一个Project,完成NDK的配置 3 ①在工程的local.properties里面添加NDK的路径代码:android studio自动会处理 3 ③在app的build.gradle里面,添加NDK的编译信息(包括生成的so库名字,以及编译出来的各种平台版本) 3 第三步:编辑native方法,生成.h头文件 4 ①编辑native方法 4 ②点击Build–>Make Project,生成class文件 5 ③找到class文件,在app->build->intermediates->classes->debug目录下: 5 ④通过javah命令生成.h头文件,点击Android Studio底下菜单中的Terminal 5 依次敲入: 5 第四步:根据生成.h头文件,以及新建的.c或者.cpp文件,生成.so库文件 7 ①在app->src->main目录下新建一个jni文件夹,用来存c/c++的头文件以及源文件,将刚刚生成.h头文件剪切到这里来,然后新建一个.c或者.cpp文件 7 ②点击Build->Make Project进行编译,生成.so库文件,路径:app->build->intermediates->ndk->debug->lib下: 8 ③拷贝lib下的这些文件夹,到app->libs下: 9 第五步:通过Activity显示C里面的内容: 9

    开发工具:Android Studio 2.2.3 NDK版本:android-ndk-r13e,支持64位so库的编译 JDK版本:1.8 64位 使用步骤如下: 第一步:NDK环境的搭建 ①jdk,Android SDK这些准备充分(只要能正常使用Android Studio的,这一条基本不用考虑) ②下载NDK,可以通过Android Studio的Project Structure下载

    第二步:新建一个Project,完成NDK的配置 ①在工程的local.properties里面添加NDK的路径代码:android studio自动会处理 ndk.dir=D:\Android\android-sdk\ndk-bundle ②在gradle.properties里面声明使用NDK的代码 android.useDeprecatedNdk=true

    ③在app的build.gradle里面,添加NDK的编译信息(包括生成的so库名字,以及编译出来的各种平台版本) ndk{ moduleName “TzgJni” //生成的.so的名字 abiFilters “armeabi”,”armeabi-v7a”,”x86” }

    jniLibs.srcDirs = [‘libs’]

    第三步:编辑native方法,生成.h头文件 ①编辑native方法 /** * Created by TongZhenggang on 2016/12/8. */

    public class TzgNdkJniUtils { static { System.loadLibrary(“TzgJni”); //defaultConfig.ndk.moduleName } public native String getKeyString(); } ②点击Build–>Make Project,生成class文件 ③找到class文件,在app->build->intermediates->classes->debug目录下:

    ④通过javah命令生成.h头文件,点击Android Studio底下菜单中的Terminal 依次敲入: cd app\build\intermediates\classes\debug javah -jni jni.TzgNdkJniUtils 使用javah的时候,具体的包名按照实际情况来书写

    没有什么错误的话,可以在debug目录下看到.h的头文件

    第四步:根据生成.h头文件,以及新建的.c或者.cpp文件,生成.so库文件 ①在app->src->main目录下新建一个jni文件夹,用来存c/c++的头文件以及源文件,将刚刚生成.h头文件剪切到这里来,然后新建一个.c或者.cpp文件

    include “jni_TzgNdkJniUtils.h”

    /* * Class: jni_TzgNdkJniUtils * Method: getKeyString * Signature: ()Ljava/lang/String; */ JNIEXPORT jstring JNICALL Java_jni_TzgNdkJniUtils_getKeyString (JNIEnv *env, jobject obj){ return (*env)->NewStringUTF(env,”0123456789123456”); } ②点击Build->Make Project进行编译,生成.so库文件,路径:app->build->intermediates->ndk->debug->lib下:

    ③拷贝lib下的这些文件夹,到app->libs下:

    第五步:通过Activity显示C里面的内容: /Ndk Test/ TzgNdkJniUtils ndk = new TzgNdkJniUtils(); Toast.makeText( this,ndk.getKeyString(),Toast.LENGTH_SHORT ).show();

    至此,Android Studio 的NDK的基础篇讲述完了。

    转载请注明原文地址: https://ju.6miu.com/read-500060.html

    最新回复(0)