让一切的准备都完美演出,让所有的努力都美好落幕
分类: 嵌入式
2015-12-16 19:54:36
原文地址:Eclipse编译带so库或jar包的android应用 作者:genehang
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目录下),可以试用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开发。