android ndk r10d 64(安卓开发工具)

android ndk r10d 64(安卓开发工具)

版本:大小:734.25M

类别: 编程工具 系统:WinAll, WinXP, Win7, Win8, Win10

立即下载
  • android ndk r10d 64(安卓开发工具) 0

android ndk r10d是一款非常好用的安卓开发工具软件,有了它以后,用户就可以快速的进行开发,还可以将应用文件打包成安卓常用的apk格式,欢迎有需要的朋友到绿色资源网下载使用!

官方介绍

Android NDK是一系列工具的集合。帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。NDK集成了交叉编译器,并提供了相应的mk文件隔离平台、CPU、API等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so。NDK可以自动地将so和Java应用一起打包,极大地减轻了开发人员的打包工作。

android ndk r10d 64使用说明

1.NDK包括了:

从C / C++生成原生代码库所需要的工具和build files。

将一致的原生库嵌入可以在Android设备上部署的应用程序包文件(application packages files ,即.apk文件)中。

支持所有未来Android平台的一些列原生系统头文件和库。

2.使用原生SDK编程相比Dalvik虚拟机也有一些劣势,比如程序更加复杂,兼容性难以保障,无法访问Framework API,Debug难度更大等。开发者需要自行斟酌使用。

3.众所周知,Android程序运行在Dalvik虚拟机中,NDK允许用户使用类似C / C++之类的原生代码语言执行部分程序。

android ndk r10d安装方法

在Linux上,尤其是Debian/ubuntu上进行安装,非常顺利,不会有什么问题。但是在Windows平台进行安装,就不那么轻松了,根据Google的建议,我们需要安装cygwin,而且特别提醒一定在安装时,注意把make和gcc包含进去。

首次安装时,会遇到的问题。由于没有经验,第一次安装,统统采用默认设置,由此遇到的第一个问题:

your C compiler doesn't seem to work:

gcc.exe:/temp/android-4068-test.c: No such file or directory

gcc.exe: no input files

根据错误信息,可以推定应该是安装cygwin时没有进行正确的设置,要选择上make和gcc的 包选项,

为了以防万一,遗漏掉依赖的包,干脆把Devel包从default变为install,这样这个包下所有内容一律安装。

安装好NDK之后,最好花上几分钟读一读/docs目录下文档。特别是要完整阅读OVERVIEW.TXT,读完以后你就可以明白NDK的初衷以及如何使用它了。

把native source放在/sources/,当然也可以建立链接。

创建/sources//Android.mk,描述native sources。

创建/apps//Application.mk,描述Android applicaiton和navite sources。

在NDK路径的最顶极目录里执行make命令来build native code : make APP

最后,使用SDK工具,以通常的方式编译应用,SDK的build工具会将共享库打包进apk的文件。

旦安装完NDK之后,就可以使用这些命令,从NDK的根目录下build共享库了:make APP=hello-jni 这将会编译/sources/samples/hello-jni/hello-jni.c,并输出共享库到/apps/hello-jni /project/libs/armeabi/libhello-jni.so.由于实际工作中,我们很少会把工程放在/apps下,因此下面将尝试如何 将应用和ndk分开来放置。

拷贝/apps/hello-jni/project,重命名为my-hello-jni,然后使用”Import from Existing Source”,创建名称为my-hello-jni的android工程。在/apps下新建文件夹my-hello-jni,并从hello-jni 下拷贝Application.mk到新文件夹下,打开该文件,修改APP_PROJECT_PATH为正确的路径,注意这里的路径应该是cygwin下 的路径,例如我的路径是:/cygdrive/e/workspace/my-hello-jni。

完成之后,到ndk的根路径下,执行make APP=my-hello-jni,然后即可成功看到结果:

Android NDK: Building for application 'my-hello-jni'

Compile thumb : hello-jni <= sources/samples/hello-jni/hello-jni.c

SharedLibrary : libhello-jni.so

Install : libhello-jni.so => /cygdrive/e/worskspace/my-hello-jni/libs/armeabi

eclipse中android NDK开发环境的搭建方法

1.首先、下载android NDK,得到一个android-ndk-r10d-windows-x86_64.exe的安装文件,双击解压得到一个android-ndk-r10d的文件夹。安装android NDK,前提是你必须是安装android sdk,能够看到这儿,应该是已经安装android sdk了的,点击菜单Window-->Preferences-->Android-->NDK,在NDK Location中输入之前android-ndk-r10d的全路径,点击OK

到此为止,我们的android NDK就安装完成了!!!,如果展开android这个节点,发现没有NDK这个选项,请参看:eclipse adt开发android ndk没有NDK选项问题的解决方案

2.其次、从NDK的案例中导入一个来测试,把android-ndk-r10d\samples下的hello-jni导入到eclipse 中,然后将项目Add Native Support

在弹出的对话框中,点击finish,这样就为我们的项目增加了NDK的支持。

然后、在C/C++的Perspective,选中项目,点击一个锤子模样的菜单,来Build Project,如果能看到在控制台打印类似20:50:59 Build Finished (took 1m:11s.298ms)的字样就说明Build成功了

3.运行项目,我们能看到在模拟器上显示出从当前CUP的类型

4.我们NDK的环境就算搭建好了!!!

5.最后、我们来看一下怎样来调试我们的NDK C/C++代码,打开jni/hello-jni.c文件,我们看到一打开就报错了,没关系,解决方法请看Android NDK *** could not be resolved,错误消失后,在方法Java_com_example_hellojni_HelloJni_stringFromJNI的最后一行代码上打上断点,debug android Native Application

发现没有Debug起来,控制台的错误如下:

[2015-01-28 21:06:01 - HelloJni] Unknown Application ABI: 

[2015-01-28 21:06:01 - HelloJni] Android

[2015-01-28 21:06:01 - HelloJni] Unknown Application ABI: 

[2015-01-28 21:06:01 - HelloJni] NDK:

[2015-01-28 21:06:01 - HelloJni] Unknown Application ABI: 

[2015-01-28 21:06:01 - HelloJni] WARNING:

[2015-01-28 21:06:01 - HelloJni] Unknown Application ABI: 

[2015-01-28 21:06:01 - HelloJni] APP_PLATFORM

[2015-01-28 21:06:01 - HelloJni] Unknown Application ABI: 

[2015-01-28 21:06:01 - HelloJni] android-9

[2015-01-28 21:06:01 - HelloJni] Unknown Application ABI: 

[2015-01-28 21:06:01 - HelloJni] is

[2015-01-28 21:06:01 - HelloJni] Unknown Application ABI: 

[2015-01-28 21:06:01 - HelloJni] larger

[2015-01-28 21:06:01 - HelloJni] Unknown Application ABI: 

[2015-01-28 21:06:01 - HelloJni] than

[2015-01-28 21:06:01 - HelloJni] Unknown Application ABI: 

[2015-01-28 21:06:01 - HelloJni] android:minSdkVersion

[2015-01-28 21:06:01 - HelloJni] Unknown Application ABI: 

[2015-01-28 21:06:01 - HelloJni] 3

[2015-01-28 21:06:01 - HelloJni] Unknown Application ABI: 

[2015-01-28 21:06:01 - HelloJni] in

[2015-01-28 21:06:01 - HelloJni] Unknown Application ABI: 

[2015-01-28 21:06:01 - HelloJni] ./AndroidManifest.xml

[2015-01-28 21:06:01 - HelloJni] Unknown Application ABI: 

[2015-01-28 21:06:01 - HelloJni] 

[2015-01-28 21:06:01 - HelloJni] Unknown Application ABI: 

[2015-01-28 21:06:01 - HelloJni] 

[2015-01-28 21:06:01 - HelloJni] Unknown Application ABI: 

[2015-01-28 21:06:01 - HelloJni] 

[2015-01-28 21:06:01 - HelloJni] Unknown Application ABI: 

[2015-01-28 21:06:01 - HelloJni] 

all

[2015-01-28 21:06:01 - HelloJni] Unable to detect application ABI's

这是由于android:minSdkVersion和项目的编译版本不一致,造成的,我们改成一致,都是10,再次运行,发现又报了一个错误:

[2015-01-28 21:13:32 - HelloJni] gdbserver output:

[2015-01-28 21:13:32 - HelloJni] run-as: exec failed for lib/gdbserver Error:No such file or directory

[2015-01-28 21:13:32 - HelloJni] Verify if the application was built with NDK_DEBUG=1

我们修改一下C/C++ Build command:Properties-->C/C++ Build,去掉Use default build command前面的复选框,在

build command中输入:ndk-build NDK_DEBUG=1

6.再次Debug我们的项目,发现没有进我们打的断点,但是我们发现了Android Native Application gdb运行起来了

同时在控制台上打印出如下的错误代码:

warning: Could not load shared library symbols for 88 libraries, e.g. /system/bin/linker.

Use the "info sharedlibrary" command to see the complete listing.

Do you need "set solib-search-path" or "set sysroot"?

warning: Unable to find dynamic linker breakpoint function.

GDB will be unable to debug shared library initializers

and track explicitly loaded dynamic code.

我试过,这个错误信息对我们的影响不大,我们按模拟器的返回键退出程序,再次进入,我们发现,进入断点了,可以调试了

到此,我们调试就成功了!

查看全部

更新时间:2017-06-28
网友评论
我要跟贴
取消
同类推荐
热门精品
最新应用