1.       环境的搭建

1)        安装java环境(见之前文档)

2)        安装eclipse环境(见之前文档)
打开Eclipse ,选择菜单中的Help - Software Updates – Available Software – Add Site - 输入地址(https://dl-ssl.google.com/android/eclipse/) (如果有问题请试用 )点击OK - 选择上面添加的地址 - 点击 Install 安装插件,完成后重启Eclipse即可

3)        下载相应SDK(本例以android 3.0以上SDK为例)

4)        指定SDK位置
打开Eclipse ,选择菜单中的Windows – Preferences – Android - SDK Location - 点击Browse,选择Android SDK所在的位置,点击OK保存即可。

5)        下载相关环境
早期的SDK,只要下载一个SDK压缩包即可,现在的SDK压缩包中不包含tools,确良platform等必要的工具,需要用eclipse连网下载,方法:菜单->Window->Android SDK Manager,然后选择需要的SDK版本下载即可。

6)        建立AVD

a)         为什么要建立AVD
运行时需要Android环境,如果没有Android手机,或者手机版本与SDK版本不一致时,就需要建立一个虚拟运行环境AVD

b)        菜单->Window->AVD Manager,建立虚拟机环境。Android 3.0以上默认是宽屏PAD的分辨率,因为屏幕大,操作起来特别慢,如果调手机应用,建议设在800x480以下)

2.       导入现有工程

1)        如果应用在eclipse中建立,使用
菜单->New->Import,选择源码所在目录

2)        如果应用在源码中建立,使用
菜单->New->Project->Android->Android project,选择从一个已有的目录建立工程

3.       引入三方jar包
在源码环境中编译只要修改Android.mk即可,在eclipse中编译需要引入jar包

1)        项目名->右键->build path->add libraries->User Library->User Libraries->New->输入名字->

2)        如果之前jar包就在源码目录中,可以选中jar包->右键->Build path->add to build path->Add jARs...->加入jar包->OK->Finish

4.       引入so文件
在源码环境中编译修改Android.mk即可将源文件编成so,将加入apk,可以不使用NDK,在eclipse中编译步骤如下

1)        NDK

a)         下载NDK
​​​http://dl.google.com/android/ndk/android-ndk-r4b-linux-x86.zip​

b)        设置环境变量
export NDK_ROOT=NDK安装目录
可以把以上命令加入~/.bashrc,每次启动shell时自动运行

c)        编译so中
进行源码所在目录,如ndk包中所带示例
cd $NDK_ROOT/samples/hello-jni
然后执行
$NDK_ROOT/ndk-build
或者在任一目录执行
$NDK_ROOT/ndk-build -C $NDK_ROOT/samples/hello-jni.
此时即可在hello-jni/libs/armeabi/目录下产生so库

d)        注意

i.           C源代码需要安在jni目录下,NDK会在项目目录下找jni/Android.mk,用于编译

ii.         源码目录中最上层必须有AndroidManifest.xml

iii.        显示编译时的具体命令
$NDK_ROOT/ndk-build –B V=1

2)        将so库编进apk

a)         在源码目录中建立libs/armeabi/,然后将libxxx.so拷到该目录下即可编到apk包中(apk生成在bin目录下),可以试用unzip将apk解包看看lib是否存在。同时在adb shell看logcat信息,以辅助调试。

3)        在eclipse中签名
项目名->右键->Android Tools->Export Unsigned Application Package…
然后再对其签名

5.       好处:

1)        高版本的SDK以及使用NDK更规范,让代码更不容易出错。

2)        android 3.0源码至今没有发布,而像admob这样的广告商又要求2011年10月之后的新加入的广告,只有在android 3以上的SDK下编译,才能正常显示。这种情况下只能使用android 3.2和android 4.0的SDK开发。