- 浏览: 1482567 次
- 性别:
- 来自: 南京
文章分类
- 全部博客 (419)
- XMPP (19)
- Android (180)
- Java (59)
- Network (4)
- HTML5 (13)
- Eclipse (9)
- SCM (23)
- C/C++ (4)
- UML (4)
- Libjingle (15)
- Tools&Softwares (29)
- Linphone (5)
- Linux&UNIX (6)
- Windows (18)
- Google (10)
- MISC (3)
- SIP (6)
- SQLite (5)
- Security (4)
- Opensource (29)
- Online (2)
- 文章 (3)
- MemoryLeak (10)
- Decompile (5)
- Ruby (1)
- Image (1)
- Bat (4)
- TTS&ASR (28)
- Multimedia (1)
- iOS (20)
- Asciiflow - ASCII Flow Diagram Tool.htm (1)
- Networking (1)
- DLNA&UPnP (2)
- Chrome (2)
- CI (1)
- SmartHome (0)
- CloudComputing (1)
- NodeJS (3)
- MachineLearning (2)
最新评论
-
bzhao:
点赞123!
Windows的adb shell中使用vi不乱码方法及AdbPutty -
wahahachuang8:
我觉得这种东西自己开发太麻烦了,就别自己捣鼓了,找个第三方,方 ...
HTML5 WebSocket 技术介绍 -
obehavior:
view.setOnTouchListenerview是什么
[转]android 一直在最前面的浮动窗口效果 -
wutenghua:
[转]android 一直在最前面的浮动窗口效果 -
zee3.lin:
Sorry~~
When I build "call ...
Step by Step about How to Build libjingle 0.4
http://blog.csdn.net/JavaTiger427/archive/2011/01/04/6115693.aspx
Android NDK r5 windows系统上安装与使用
一、 Android NDK r5安装
1、 cygwin的安装和简单配置
① 首先到 http://www.cygwin.com下载setup.exe ,接着建立安装目录,如X:\cygwin (我用的是 E :\cygwin ) ,将setup.exe放到此目录。
② 启动安装:
BEGIN-> 点击setup.exe:
③ Next->选Install from Internet(选择在线安装方式):
④ Next->填写Root Directory,如X:\cygwin(选择安装路径):
⑤ Next->填写Local Package Directory,如X:\cygwin\ftp(选择下载文件存放的目录):
⑥ Next->选Direct Connection(选择网络连接方式):
⑦ Next->选一个较快的ftp(选择下载镜像站点):
⑧ Next->(开始下载安装):
⑨
到了关键步骤,如果仅想安装基本系统,直接Next;如果想完全安装,点击 All旁边的旋转状图标,将Default切换至Install;如果仅想在命令行下写写程序,则只要将gcc、make等开发工具选上,还有openssh等(一般选择:
autoconf2.1
、
automake1.10
、
binutils
、
gcc-core
、
gcc4-core
、
gdb
、
pcre
、
pcre-devel
、
GNU awk
);选好后,Next->:
⑩
选择需不需要创建快捷方式。->END
最后启动Cygwin,测试安装是否成功:
点击快捷方式或X:\cygwin\cygwin.bat打开控制台,如果是域用户,按照提示makepasswd和makegroup即可。
输入命令检查
出现以上版本信息则表明make 和gcc 已经安装成功。
2、 Android NDK r5 windows
① 首先到官网下载 Android NDK r5 windows
② android-ndk-r5直接解压就行了,我的路径是E:\Android_NDK
③ 在home\<你的用户名>\.bash_profile 文件中最后添加环境变量 :打开E:\cygwin\etc\skel目录,找到 .bash_profile 文件 ,拷贝到 home\<你的用户名>\ (此处为E:\cygwin\home\Administrator)下面,在 最后添加环境变量
NDK=/cygdrive/<你的盘符>/
export NDK
我的:NDK=/cygdrive/E/Android_NDK/android-ndk-r5
export NDK
其中"NDK"这个名字随便起,因为后面要用经常使用,建议不要太长。
重启cygwin,输入cd $NDK进入对应目录,就成功了。
注意:添加时用UltraEdit打开添加,如果是中文OS 使用记事本或者写字板打开编辑后,重新启动Cygwin 会报错。可以按照下图方式转换:
二、 JNI实例
1、 安装成功后编译NDK中的一个例子命令行:
编译完成后在E:\Android_NDK\android-ndk-r5\samples\hello-gl2文件夹中会生成一个文件夹libs,里面有一个子文件夹armeabi,里面生成libgl2jni.so文件 。
2、 一个简单的JNI例子
下面用一个简单的例子介绍怎么生成一个.so文件以及在Android项目中怎么调用.so文件。
① 首先,用Eclipse建立一个ANDROID的工程,命名为MyFirstJNI,工程代码为:
② 制作生成.so文件: 可以通过获取以.h文件 来 获取函数申明。打开命令行,键入cd (这个路径是使用Eclipse建立的工程目录的src的路径 ,我的是F:\workspace\MyFirstJNI\src ),目的是设置工程目录。然后键 入: javah -jni com.cn.lhq.JniTest,结果如果失败,那就是因为没有把MyFirst.class文件拷贝到 F:\workspace\MyFirstJNI\src \com\ cn\lhq 之下,原因是Eclipse的文件管理机制 会将.class文件和.java文件分开到不同的目录,解决方法是将F:\workspace\MyFirstJNI\bin\com\cn\lhq的 所有.class文件都拷贝到他的目录下面。再次运行javah -jni com.cn.lhq.JniTest即可。然后就可以看到在 F:\workspace\MyFirstJNI\src 下多出了一个文件:com_cn_lhq_JniTest.h,通过这个文件,我们就知道了本地接口的函数名,于是我们就根据函数名写一个com_cn_lhq_JniTest.c文件, 代码如下:
注意 : 这个函数的参数与用javah生成出来的参数是不同的,这里只是需要函数名而已,因为函数名必须匹配,否则在模拟器上面跑的时候会出错,当然,如果对JNI命名规则熟悉的话可以跳过javah这步,直接写一个.c文件。
写好.c文件之后就开始生成 .so 文件了,这时候需要 用到 ANDROID.MK这个文件。于是把Eclipse生成的工程目录剪切,放到NDK目录的samples目录之下 (和示例hello-gl2一样),这个时候模仿hello-gl2文件层次结构,将MyFirstJNI文件也做成那样 :在MyFirstJNI文件夹下面新建一个 jni文件夹,把 com_cn_lhq_JniTest.c 剪切到此文件夹中,同时也拷贝一个 ANDROID.MK 文件到此文件夹,用 UltraEdit打开 ANDROID.MK 文件进行修改,主要修改如下:
LOCAL_MODULE := 工程名
LOCAL_SRC_FILES := .c的文件名(包含扩展名)
此例子应改为:
LOCAL_MODULE := MyFirstJNI
LOCAL_SRC_FILES := com_cn_lhq_JniTest.c
然后 打开 cygwin, 进入 E:\Android_NDK\android-ndk-r5\samples\MyFirstJNI\jni目录:
再 输入$NDK/ndk-build命令,在E:\Android_NDK\android-ndk-r5\samples\MyFirstJNI生成libs文件夹,即生成.so文件:
③ 在eclipse中重新导入生成了.so文件的 MyFirstJNI项目,运行效果图如下:
发表评论
-
[Android] 为Android安装BusyBox —— 完整的bash shell
2013-12-27 10:19 1413http://www.cnblogs.com/xiaowen ... -
Windows的adb shell中使用vi不乱码方法及AdbPutty
2013-12-27 10:17 7395http://www.veryhuo.com/down/ht ... -
AppMobi推出新XDK,可创建测试PhoneGap项目
2012-09-03 13:39 2533AppMobi今天发布了一个新的工具PhoneGap Mobi ... -
Sencha
2012-09-03 12:59 1140http://www.sencha.com/ Se ... -
jQuery Mobile学习
2012-09-01 12:33 1629使用Jquery Mobile设计Android通讯录 ... -
BackBone
2012-09-01 12:34 1221Backbone.js 是一种重量级javascript M ... -
jQTouch
2012-08-30 15:57 939A Zepto/jQuery plugin for mobil ... -
SwiFTP
2012-08-30 15:43 1243SwiFTP is a FTP server that run ... -
kWS
2012-08-30 15:41 1147kWS is a lightweight and fast W ... -
jQuery Mobile
2012-08-30 15:07 976http://jquerymobile.com/ -
PhoneGap
2012-08-30 15:07 996http://phonegap.com/ -
Android Button background image pressed/highlighted and disabled states without
2012-08-06 12:49 1626http://shikii.net/blog/android- ... -
[AndriodTips]Image, saved to sdcard, doesn't appear in Android's Gallery app
2012-08-04 16:15 1113http://stackoverflow.com/questi ... -
Voice detection for Android
2012-07-23 11:39 2297Here it is, my fist JAVA applic ... -
[AndroidTip]local reference table overflow (max=512)的错误解决
2012-07-22 22:56 5952JNI层coding经常会遇到ReferenceTable o ... -
[AndroidTip]EditText如何初始状态不获得焦点?
2012-07-22 15:35 1185最简单的办法是在EditText前面放置一个看不到的Linea ... -
[AndroidTip]android textview滚动条
2012-07-21 14:29 1259本来是想做一个显示文字信息的,当文字很多时View的高度不能超 ... -
Google公布Android 4.1完整功能
2012-07-16 09:48 3138http://www.android.com/about/je ... -
Android开发:使用AudioTrack播放PCM音频数据【附源码】
2012-07-13 15:20 20772http://www.linuxidc.com/Linux/2 ... -
Android上的行车记录仪
2012-07-11 22:31 1966MyCar Recorder DailyRoads
相关推荐
windows系统上安装与使用Android NDK r5
Windows 7 下使用 Android NDK r5c 编译 FFmpeg 0.7.1 教程地址: http://www.cnblogs.com/scottwong/archive/2011/06/26/2090625.html#!comments
android-ndk-r5c-windows.zip
android-ndk-r5b-windows,ndk开发,解压即可,绝对能用!
Android_NDK_r5_ 安装于使用( windows)
1. 下载android-ndk-r5b-windows并解压到D:\android-ndk-r5b-windows 2. 下载Cygwin, 执行setup.exe并开始安装 注意:.开发选项里必须勾选gcc和make,否则后期无法编译 3. 配置NDK环境变量
教程名称: Android开发工具及插件【官方最新版】【】ADT-10.0.1(eclipse和myeclipse下最新插件)【】Android NDK r5b Linux x86版【】Android NDK r5b Mac版【】Android NDK r5b Windows x86版【】Android SDK r...
本人的操作系统是Windows XP SP3,Android NDK的版本是android-ndk-r5b,已亲测成功,能够正确编译JNI so库文件
这是一个适用于 Android 平台的基于 SDL 和 FFmpeg 的 MultimediaPlayer安装该项目应使用 Android 4.2 SDK(API 级别 17)和 NDK r8、r7c、r6 或 r5c 进行编译,谷歌搜索并按照其文档中的说明安装它们。 您还需要...
Android:稳定,在 2.0~4.x、ndk r5 ~ r8 上测试良好。 如果使用 gles20 分支或 cocos2d-x v2.0 以上,则仅支持 android 2.3 及更高版本 Windows Phone 8 和 Windows 应用商店应用 (WinRT) Bada:cocos2d-x v1.x...
Android:稳定,经过ndk r5〜r8在2.0〜4.x上的良好测试。 如果您使用gles20分支或以上的cocos2d-x v2.0,则仅支持android 2.3及更高版本 Windows Phone 8和Win8 Metro:稳定,在另一个仓库。 Bada:cocos2d-x v1.x...