(很久没有更新android方面的文章,其实最大的原因是没有油水可以更新了=.=)


好,步入正题。

今天在新电脑上搭建android开发环境。

因为已经有了SDK,我将SDK解压到相关目录,这里是:D:\software\java\android\android-sdk-windows

D:\software\java\android目录结构如下:

看名称就很明显了哈。

sdk-windows是sdk目录

AVD是手机模拟器的目录


然后配置环境变量,方便eclipse找到模拟器的配置:


打开eclipse,如果还没有ADT ,就先安装一个,提供一个在线安装ADT的好例子:ADT在线安装


在线更新到的ADT是最新的,这里有可能需要更新一下SDK,就我的情况而言,因为我的SDK只有到 2.3 ,所以安装好ADT后花了20分钟更新了Android 4.1(API 16),网速是 300KB/s 。

然后就可以运行一个AVD测试。详细可以看我的上一篇Android开发记录:http://blog.csdn.net/ssrc0604hx/article/details/7272402


这里讲一下怎么安装JNI的开发环境。

这里需要用到cygwin ,NDK。

具体的可以看这个(神帖!):基于 Android NDK 的学习之旅-----环境搭建


我主要是讲一下:


1.工程 BUILDER这里,按照上面的文章说的设置builder,每次代码保存、工程文件变动就会自动编译成so文件,这其实是不需要的。一般我们就要他在测试运行时编译就好了。

那修改这里:


这样,就不会频繁地编译了。


2。从c/c++中返回中文时候

总结下,2种方法比较好用,直接在c或c++转编码比较麻烦,一直没有找到解决方案:
1.把jni里用到的.c文件或者.cpp文件要改成utf-8的文件类型,可以用记事本打开,另存为的时候就知道编码了。
2.把文字转换成 jbyteArray形式返回到java层,再用

String result = new String(byte[],"Utf-8");

来转换。C++类似下面的代码:

char * location = "你好";   jbyte *by = (jbyte*)location;   jbyteArray jarray = env->NewByteArray(strlen(location));   env->SetByteArrayRegion(jarray,0,strlen(location),by);   return jarray;

3.生成的so文件是在工程的:libs目录下。

eclipse打包成 apk时,会将libs目录也打包进APK中,就样就可以在应用中调用我们的本地库了。



最后,就可以开始你自己的androidjni应用了。



更多相关文章

  1. Android(安卓)StudioV3.2.1的两种模式及签名配置、apk打包混淆
  2. Android模拟器环境中添加和删除apk应用程序
  3. 在eclipse里配置Android(安卓)ndk环境 适用于windows mac 和linu
  4. 转载:Android中如何修改系统时间(应用程序获得系统权限)
  5. 安卓真机appium环境配置
  6. android 5.1.1开机优化(framework层)
  7. Android(安卓)美化之Toolbar控件使用
  8. 安装Android(安卓)2.2 SDK时出现的问题
  9. Android(安卓)adb push ... Read-only file system

随机推荐

  1. Android(安卓)知识要点整理(7)----拍照和录
  2. 新博android毕业前
  3. 在Android中访问内置SE和基于SE的卡模拟
  4. android之SQLite数据库应用(二)
  5. Android(安卓)自定义动画 单个View平面位
  6. Android中使用Volley开源库进行Http网络
  7. android PULL 解析XML
  8. 利用python对android批量多渠道打包
  9. Android实现异步处理
  10. Android系统搜索对话框(浮动搜索框)的使用