Android ndk 开发环境配置与调试(linux)

时间:2022-09-20 17:23:15
开发环境配置

一、 Android NDK:

集成了android交叉编译器,针对不同版本android平台提供了相应的gcc、g++、ndk-build、ndk-gdb等一系列编译和调试工具。

安装ndk:

官网下载地址:http://www.cnblogs.com/yaotong/archive/2011/01/25/1943615.html

安装包选择:

选择安装包需要注意几点:

1、  Android手机是32位还是64位,默认是32位,r9以前的只有32位,r10之后出现了64位的,需要注意,比如64位,则应该含有ndk64

2、  从r6开始各版本分为a,b,c,d系列,例如r9版本分为r9,r9b,r9c,r9d,一般选择r9或r10,r9d或r10d验证都存在一些问题

3、  编译主机系统是什么系统,32位还是64位的,比如是ubuntu 64位机,则应该是Linux-x86_64

比如,下载以64位linux系统作为主机的,32位android 平台的r10版本的ndk,下载地址为:http://dl.google.com/android/ndk/android-ndk32-r10-linux-x86_64.tar.bz2

 

安装步骤(这里选ndk 32位android系统,主机系统为32位linux系统,r9版本):

第一步:解压:tar  jxvf android-ndk-r9-linux-x86.tar.bz2

第二步: 解压完成后进入ndk路径/build/tool/,开始配置环境,使用命令:

sudo  ./make-standalone-toolchain.sh --platform=android-18  --ndk-dir=/home/ndk/ --install-dir=/opt/android-18-toolchain/  --toolchain=arm-linux-androideabi-4.6

说明:

android-18:使用的android APILEVELplatform文件夹下可以看到,这里使用的是18

下表是android API 级别与android 版本的对应关系

API level

19

18

17

16

15

14

13

12

11

10

9

8

Android 版本

4.4

4.3

4.2

4.1

4.034.04

4.0.0~4.02

3.2

3.1.x

3.0.x

2.3.32.3.4

2.3.0~2.3.2

2.2.x

 

后面分别为ndk解压后的目录,和安装的目标目录。

第三步:配置路径,为了方便使用ndk的工具,可以将ndk的路径加入环境变量。终端输入:

exportPATH=$PATH:/home/ndk,这样我们可以在任意地方直接使用ndk-build,ndk-gdb命令了。

exportPATH=$PATH:/opt/android-18-toolchain/bin ,主要是交叉编译器工具集。

这样就配置完成了。

二、 Android SDK:

提供了android sdk开发包直接将sdl库或执行文件与Java代码一起编译成apk,但过程较繁琐,我们直接使用ant即可。还提供了adb、android模拟器等工具。

安装:adt-bundle-linux-x86-20140321.zip

推荐下载网址:http://pan.baidu.com/s/1AB9in

解压命令同上,解压完成后即可使用了,里面包含eclipse和sdk,不需要再进行配置其他,直接使用。

并将tools、platform-tools加入环境变量,这样就可以直接使用adb和模拟器了

三、 Ant工具:

ant本来是sdk的一个子工具,但由于它集成了sdk的许多功能,用于一步打包成apk。

                安装:apache-ant-1.9.4-bin.tar.gz

推荐下载网址:http://download.csdn.net/download/sams_on361/7808511

 解压命令:tar -zxvf apache-ant1.9.4-bin.tar.gz

                   解压后,将bin目录加入环境变量,就可以直接使用ant命令了。

       打包apk只需要在android工程目录下执行:ant  release

四、 工具使用

1)        ndk交叉编译

在cmakelist里将编译器路径替换成ndk编译器路径即可编译成可以在android上运行的进程

SET(NDK_PATH  “/opt/android-18-toolchain”)

SET(CMAKE_CXX_COMPILER  "${NDK_PATH}/bin/arm-linux-androideabi-g++")

SET(CMAKE_C_COMPILER  "${NDK_PATH}/bin/arm-linux-androideabi-gcc")

2)        创建android工程

创建一个空文件夹,执行:

android create project --name  proname --target android-19  --path  ./ --package  com.proname  --activity activity_name

比如创建一个sdl的android工程:

android create project --name  SmartDevice --target android-18  --path  ./ --package  com.SmartDevice  --activity MainActive

其中,target 想使用哪个,可以根据上表选择,但有些可能没有安装,可以通过命令:android list target 来查看

3)        更新android工程

从其他地方转移过来的android工程或想更新API LEVEL,或想更新项目名称可以使用以下命令:

android update project  --name  proname --target android-19  --path  ./ --package  com.proname--activity  activity_name

如想更新API LEVEL,只需要执行

android  updateproject  --target  android-18 --path  ./

4)        打包成apk

在android工程目录下,执行:ant  release

5)        安装apk

Usb数据线连接好手机后,执行:adb install   –r  ***.apk 

 

 

Android sdl编译

一、 编译sdl

1、  创建一个空目录

2、  进入目录,执行:

cmake -DSYSTEM_NAME="Android"  -DCMAKE_BUILD_TYPE="Release" -DCOMPILIER_PATH="/opt/android-18-toolchain"  project_path

Ø  执行完后应该可以看到 current buildsystem is Android这样的信息。

Ø  -DSYSTEM_NAME 是设置运行系统,这里必须设置成 "Android"

Ø  -DCOMPILIER_PATH 是设置NDK的根目录,这里是"/opt/android-18-toolchain"

3、  执行make,开始编译

4、等第3步完成后,执行make install,会生成一个bin目录,编译完成。

 

二、 生成apk

1、  从Git上获取android_sdl_apk_build分支的android代码,里面有一个assets目录,将sdl的bin目录下的所有文件拷到assets下

2、更新Android 工程环境,执行android update project  -p  ./

Ø  其中./表示更新后存放在当前目录

Ø  android命令是sdk提供的,所以需先安装sdk。

Ø  这一步仅限于第一次打包,第二次以后可以省略

3、  执行ant  release,执行过程中会连续两次提示输入签名信息和密钥,两次都直接输入8888888即可。

Ø  生成一个apk文件,找到bin/SmartDeviceLink-release.apk。

三、 安装

两种方法:

1、  直接安装

将apk文件放到安卓手机上,直接点击即可安装

2、  adb 安装

将手机连接电脑,在控制台上运行:adbinstall -r  ***.apk

Ø  adb工具 一般存放在sdk安装目录的platform-tools下,也可以单独下载adb工具