Chinaunix首页 | 论坛 | 博客
  • 博客访问: 801082
  • 博文数量: 76
  • 博客积分: 2211
  • 博客等级: 上尉
  • 技术积分: 1693
  • 用 户 组: 普通用户
  • 注册时间: 2011-12-26 19:36
文章分类

全部博文(76)

文章存档

2012年(67)

2011年(9)

分类: 嵌入式

2012-04-05 15:26:50

1. 环境的搭建

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

2) 安装eclipse环境(见之前文档)
打开Eclipse ,选择菜单中的Help - Software Updates – Available Software – Add Site - 输入地址()(如果有问题请试用 )点击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

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目录下),可以试用unzipapk解包看看lib是否存在。同时在adb shelllogcat信息,以辅助调试。

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

5. 好处:

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

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

阅读(14511) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~