Android?Studio?NDK编程-环境搭建及Hello!

一,下载 安装android-ndk开发包

NDK各个版本链接
二,新建项目NDKDemo,选择空Activity就可以;
(注:Android studio 2.2,可通过SDK Tools 添加LLDB,CMake,更方便的开发jni程序了)

三,按F12,配置项目NDK路径:

四,在MainActivity中添加如下代码:

static {
    System.loadLibrary("MyJni");//导入生成的链接库文件
}
public native String getStringFromNative();//本地方法
public native String getString_From_c();

红色代码是本地方法!不知是否Android studio对ndk支持不太好所致,但不影响开发JNI程序!

在最新的Android Studio2.2 能很好的支持ndk了,不再出现红色!
五,Make Project一下,生成class文件!


使用Android studio2.2 就是这锤子图标!

六,通过class文件生成头文件!


(1)通过Terminal 中的命令来生成:

输入javah -d jni -classpath ../../build/intermediates/classes/debug com.it5.ndkdemo
(注意前后有英文的;号隔开的哈)!

注:../后面的就是class文件的目录!!

大家看了,是不是有点晕圈啊,虽然可以复制路径,但如果每次都这样就太不方便了!!

另可以在工具中配置命令的快捷键,来完成!

(2)Settings -> External tools中配置javah,ndk-build快捷方式!!

javah(生成头文件),ndk-build(编译)

打开External Tools 点加号添加javah:如下图:

参数配置:
Program: $JDKPath$\bin\javah.exe 
Parameters: -classpath . -jni -o $ModuleFileDir$/src/main/jni/$Prompt$ $FileClass$ 
Working directory: $ModuleFileDir$\src\main\Java 
Parameters的另外一种写法 -classpath . -jni -d $ModuleFileDir$/src/main/jni $FileClass$

按上图依次填好,就好了!!

添加ndk-build配置如下:

Program: D:\Android_NDK\android-ndk-r11b\ndk-build.cmd

Working directory: $ProjectFileDir$\app\src\main 
这样配置后,以后只要把需要运行的类上右键 --> External Tools-->javah/ndk-build!

就可完成头文件及编译的工作!
哈哈!! 爽歪歪!

(3)用命令生成头文件!!

选中需要执行javah命令的类,然后右击,按照下图选择命令即可。
注:生成 .h头文件,所以一般是在含有 native字样的本地方法的类!

本地方法写在MainActivity.java 中,就右击该类生成!

这样就会在main文件下创建jni文件夹并生成 .h头文件成功!

现在ok了,快捷就是爽啊!!!

接下来,就是编写C/C++的代码了!

七,在jni目录编写C代码!

注:

项目结构切换成 Android状态时,jni文件夹显示成 cpp名字!

当切换成project时就显示成jni文件夹!!

如下图:

 

添加如下代码:

八,Gradle文件添加配置!

(1)在module中的build.gradle中defaultConfig{}标志里添加!

ndk{
        moduleName "MyJni"
        ldLibs "log"
        abiFilters "armeabi","armeabi-v7a","x86"
}

编译会根据配置生成不同的目录来存放 .so文件!

参数配置:

在defaultConfig中添加一个ndk{}

ndk{}可添加的属性如下:

moduleName "xxx" :        编译后so库的名字

ldLibs "xxx" "xxx" :     连接的库,可以有多个

abiFilters "xxx" "xxx" :

so库运行的cpu架构,有armeabi armeabi-v7a arm64-v8a x86 x86_64 mips mips64这些,常用的是armeabi和armeabi-v7a

stl "xxx" :                       C++ runtime support library,共有九种

cFlags "xxx" "xxx" :     编译选项

例如  :

要使工具自动识别C++提示只要如下语句:

stl "gnustl_shared"
cFlags "-IE:/Android_NDK/android-ndk-r11b/sources/cxx-stl/gnu-libstdc++/4.9/include"

注:Android.mk文件 Android Studio会自动生成!与Eclipse不同!

如图:

注:

把Android.mk文件拷贝到 main/jni文件夹下

右键--->External Tools -->ndk-build  生成 .so文件!!

如做如下配置 .so 就会生成在指定的目录下:

sourceSets.main{     jni.srcDirs = []         jniLibs.srcDir "src/main/libs"    }

(2)在项目的gradle.properties 文件中添加

android.useDeprecatedNdk=true

如图:

最后,运行成功OK!

这是之前的配置方法,有个不方便的地方就是无法DEBUG jni,要另添加插件,对写C/C++代码提示功能也不尽人意!

不过本篇是以Android Studio 2.2来配置滴!!在2.2版本,对NDK支持也越来越完善了,可以在

SDK Tool 中添加 CMake,LLDB来创建ndk项目并支持调试,自动编译,对C/C++的代码提示功能也增强了!

来自为知笔记(Wiz)

时间: 2024-12-24 21:24:12

Android?Studio?NDK编程-环境搭建及Hello!的相关文章

Android Studio NDK开发环境搭建

一.   下载安装Android studio 和 NDK 二.   在Android studio中配置NDK(和SDK配置一样) 三.   用Android studio建立一个工程,打开project,建立一个调用C的类,然后在mian文件夹下建立一个jni文件夹. 四.   打开cmd ,输入cd 工程文件夹路径,如cd C:Users\CFF\Desktop\MyApplication\app\src\main\java,然后按回车. 五.   输入javah –jni +调用C的类路

Android Studio安装及环境搭建

第一步:下载Android Studio:android-studio-bundle-135.1245622-windows 第二步:安装Android Studio 第三步:下载JDK:jdk-8u11-windows-x64 第四步:安装JDK,注意在安装JDK时会安装JRE,此时我们要将他们分开在不同文件夹,否则在运行Android Studio会报错: 第五步:设置环境变量: CLASSPATH -> .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

Android开发--NDK之环境搭建

android 中为什么实用NDK,网上一搜一大堆,在这原因不在赘述. 在Android SDK首次发布时,Google就宣称其虚拟机Dalvik是支持JNI编程方式的:也就是第三方的应用是可以调用自己公司的或者是其他C.C++动态库. 搭建平台:1.我这用的是MacBook,系统是OS X 10.11.5: 2.Android Studio 2.1.2 3.JDK1.8.0_77 x86_64 首先搭建NDK开发环境.启动Android Studio,在Android studio中,属性->

Android Studio Ndk 编程

现在开发Android程序基本都已经从Eclipse转到了Android Studio了, 最近项目需求, 需要用到ndk编程, 于是就折腾了一下. 开发环境 Android Studio 1.5.1 android-ndk-r10e gradle 2.8 首先我们新建一个工程叫做NdkDemo, 创建后的工程目录结构如下 然后我们打开gradle.properties文件, 在文件的尾端写一句, 如果没有写这一句会编译不通过 android.useDeprecatedNdk=true 接着配置

Ubuntu 12.04 32位 eclipse android SDK NDK开发环境搭建

文章写作时间: 2017/04/05 一.软件包如下: 1.jdk 1.8(JAVA 开发及运行坏境) 2.eclipse(IDE工具) 3.ADT23.0(eclipse 开发安卓插件) 4.SDK24 (Android 开发环境) 5.NDK R10 (NDK开发环境) 下载链接 http://pan.baidu.com/s/1nvjYfnr 二.安装步骤 1.JDK安装 a.在/home/"用户名" 下新建文件夹"Java_JDK"(mkdir /home/&

MAC android Studio 5.0 环境搭建

MAC 环境: android Studio 0.8.14 JDK 1.7 adt version 21 今天准备搭建android5.0 开发环境 android Studio0.8.14       android studio 0.8.14 用的最新的google最新发布的版本,有些新的改进 启动android Studio 建立一个工程,放心,你无法建立成功,到用户目录下 .gradle/wrapper/dists/ gradle-2.1-all 目录,还有可能是其他版本的目录 grad

android下NDK开发环境搭建及TestJNI入门实例完整过程

1.先搭建好基本的ndk的开发环境 在windows下安装下面两个软件 1. Android NDK 安装 2. 安装Cygwin与使用NDK编译 本文建立在已经完成Android开发环境搭建的基础上.其基础环境至少需要包含以下内容: 1. JDK 2. Eclipse 3. Android SDK and ADT 一.Android NDK 安装与配置 下载Android NDK.下载地址:http://developer.android.com/tools/sdk/ndk/index.htm

Android Studio下gradle环境搭建

在w3c页面上有较为权威的gradle安装教程:上面说1.5 或更高版本的 JDK.Gradle 自带了 Groovy 库.但在执行gradle时候出现 -bash: gradle: command not found 问题. 如果你使用的是Android Studio进行开发,那就不需要再去下载gradle的zip包安装,因为Android Studio中自带了gradle.我们可以通过以下方式在mac环境下帮助电脑找到gradle命令: 1.在Finder中右击Android Studio.

【读书笔记-《Android游戏编程之从零开始》】1.Android 平台简介与环境搭建

简单的记录下笔记,具体可百度! Android SDK (Software Development Kit)- Android 软件开发工具包,用于辅助Android 操作系统软件开发,是开发Android 软件.文档.范例.工具的一个集合.Android NDK (Native Development Kit) - 类似 Android SDK,可用C/C++语言编写Android程序. developer.android.com - 可查阅到 Android SDK. 开发指南.API说明等