作为一个老程序员,写了多年的 C/C++,经历了unix的cc、DOS时代的TC、BC、后来的VC、VS(看得懂的人自己体会 ),终于开始写Android的程序了。
权把本博作为我学习的日志吧。
作为java的菜鸟,第一步当然是先找网上的教程,找了几本入门书快速翻看了一下,大致有了个了解,可以开始动手了。
第二步,搭建开发环境
关于开发环境搭建的文章很多,比较全面下载网址如 http://www.androiddevtools.cn/
本人选择了传统的 eclipe, 没有选择新兴的AS,权当老程序员的保守吧。
需要说明的是我的开发机器为 windows 64bit版本。NDK 下载了 windows x86-32bit版本,后来的实践证明可以正常使用。
1、安装 jdk,并配置环境变量 JAVA_HOME = JDK安装路径, PATH中增加 : %JAVA_HOME%\bin
2、使用eclipe-bundle, 配置的环境变量
ANDROID_HOME 到你的安卓SDK的安装目录,PATH中增加: %ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools
3、NDK设置,在eclipes中 菜单 windows->preferences->NDK中,NDK_Location 中填写NDK的路径
第三步,第一个App
ADK中带有一些示例程序,从中学习是最快捷的。
第一个APP: hello-jni
第一个Native App: ndktest
几点体会及技巧:
1、发现Android的模拟环境运行非常慢,还是直接使用自己的手机当作调试环境更好
我使用 三星 S4,激活开发者选项的方法:设置->更多->关于设备,中的 内部版本号,连续点击7下就可以了
2、不太喜欢Eclipse的workingset管理方式,VS的solution管理方式更方便
3、一些设备上的 ADB interface不能顺利接上,最终发现实际是需要在电脑上安装相应Android设备的驱动。最简单的做法是 使用豌豆夹 来下载和安装驱动。
4、javah的使用:生成头文件
一般为用法为: javah -jni -classpath . com.samples.ndkjnitest
如果 ndktestjni.java 中包含了 android的对象,如Bitmap,则会报告"错误: 无法确定Bitmap的签名"
做法是在 classpath参数中,加上指向 android.jar的路径名,多个路径使用分号分隔:
javah -jni -classpath .;\E:\prog_Android\adt-bundle-windows-x86-20140702\sdk\platforms\android-23\android.jar com.samples.ndkjnitest