ubuntu编译android程序,Ubuntu 下 android-ndk-r4b 编译可执行程序

一、建立工程目录结构:

目录结构示意图:

第一层目录:NDK工程名根目录文件夹

第二层目录:jni

android-ndk-r4b/ndk-build 规定的源码存放文件夹

NDK工程名根目录文件夹

|---Application.mk

|---jni

|---Android.mk

|---*.h

|---*.c

注意:

1.

Application.mk 可选在 jni 目录下;

2.

jni 必须在工程根目录下;

3.

Android.mk 必须在 jni 目录下;

4.

以上的目录和文件的名字注意大小写;

5. C

语言的源代码要放在 jni 目录下;

二、Application.mk

文件内容:

APP_PROJECT_PATH :=

$(call my-dir)/jni

APP_MODULES := 可执行程序名

#注:只有

APP_MODULES := 后面的可执行程序名需要根据实际情况而改变;

例子:

APP_PROJECT_PATH :=

$(call my-dir)/jni

APP_MODULES := test

三、Android.mk

文件内容:

LOCAL_PATH := $(call

my-dir)

include

$(CLEAR_VARS)

LOCAL_MODULE :=

模块名

LOCAL_SRC_FILES :=

模块.c

#编译动态库

#include

$(BUILD_SHARED_LIBRARY)

#编译可执行程序

include

$(BUILD_EXECUTABLE)

例子:

LOCAL_PATH := $(call

my-dir)

include

$(CLEAR_VARS)

LOCAL_MODULE :=

test

LOCAL_SRC_FILES :=

test.c

#编译动态库

#include

$(BUILD_SHARED_LIBRARY)

#编译可执行程序

include

$(BUILD_EXECUTABLE)

四、test.c

文件内容:

#include

int

main(

int argc,

char** argv )

{

printf( "hello android!\nI'm %s!\nI support android

!!\n",

"wzhnsc" );

return 0;

}

五、编译:

1)

进入工程根目录下;

$ cd

~/androidcode/test

2) 执行 $

$NDK/ndk-build 命令;(参见我的另一篇 Ubuntu 下 Android NDK

开发环境搭建)

编译成功会提示如下信息:

warning:

incompatible implicit declaration of built-in function

'printf'

Executable : test

Install : test =>

/home/wzhnsc/androidcode/test/libs/armeabi

六、放入

Android 模拟器执行程序看效果:

1) 执行

~/android-sdk-linux_x86/tools 下的 android 脚本文件

$ cd

~/android-sdk-linux_x86/tools

$

./android

2)

在弹出的“Android SDK and AVD Manager”对话框中 ->

点击左窗格中的“Virtual

Devices” ->

点击右窗格中的[New...]按钮,创建一个名为"Android2.1"的新模拟器;

3)

运行名为"Android2.1"的模拟器

$

./emulator -avd Android2.1

4)

进入 /home/wzhnsc/androidcode/test/libs/armeabi 目录下

$ cd

/home/wzhnsc/androidcode/test/libs/armeabi

5) 在

Android 模拟器中的 /dev 目录下新建一个 test 文件夹

$ adb

shell mkdir /dev/test

6)

将当前目录下的 test 可执行程序文件放入新建的 /dev/test 目录下

$ adb

push test /dev/test/test

7) 对

/dev/test 目录下的 test 可执行程序文件进行可读可写可执行授权

$ adb

shell chmod 0777 /dev/test/test

8) 进入

Android 模拟器 shell 命令行下

$ adb

shell

9) 在

Android 模拟器 shell 命令行下执行 test 可执行程序

# cd

/dev/test

#

ls

test

#

./test

hello

android!

I'm

wzhnsc!

I

support android !!

#

exit

注:android脚本文件、adb 和

emulator 可执行程序均在 ~/android-sdk-linux_x86/tools 下;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值