码迷,mamicode.com
首页 > 其他好文 > 详细

最简单 NDK 例子

时间:2015-03-12 19:16:13      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:

下面在 Ubuntu下 编译一个 c 语言 hello world 并在 android 手机或模拟器上运行


进入程序位置

cd  ~/pnp5/jni


有三个文件 main.c Android.mk, Application.mk, 内容:

$ cat main.c 

#include <stdio.h>

int main (void)
{

  printf("hello world");
  return 0;
}

~/pnp5/jni$ cat Android.mk 

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_SRC_FILES:=         main.c


LOCAL_MODULE:= pnp5
LOCAL_MODULE_TAGS := optional


include $(BUILD_EXECUTABLE)


~/pnp5/jni$ cat Application.mk 
APP_ABI := all

注:Application.mk 可以没有(如何你只需要arm程序)



在当前目录运行 ndk-build 

( 如果没有ndk,去下载一个) 

~/pnp5/jni$ ~/android-ndk-r10d/ndk-build
[arm64-v8a] Compile        : pnp5 <= main.c
[arm64-v8a] Executable     : pnp5
[arm64-v8a] Install        : pnp5 => libs/arm64-v8a/pnp5
[x86_64] Compile        : pnp5 <= main.c
[x86_64] Executable     : pnp5
[x86_64] Install        : pnp5 => libs/x86_64/pnp5
[mips64] Compile        : pnp5 <= main.c
[mips64] Executable     : pnp5
[mips64] Install        : pnp5 => libs/mips64/pnp5
[armeabi-v7a] Compile thumb  : pnp5 <= main.c
[armeabi-v7a] Executable     : pnp5
[armeabi-v7a] Install        : pnp5 => libs/armeabi-v7a/pnp5
[armeabi] Compile thumb  : pnp5 <= main.c
[armeabi] Executable     : pnp5
[armeabi] Install        : pnp5 => libs/armeabi/pnp5
[x86] Compile        : pnp5 <= main.c
[x86] Executable     : pnp5
[x86] Install        : pnp5 => libs/x86/pnp5
[mips] Compile        : pnp5 <= main.c
[mips] Executable     : pnp5
[mips] Install        : pnp5 => libs/mips/pnp5

发现在 与jni 同一级别的 libs 目录生成各种 target 的 程序。


在模拟器(真机)上运行

用 adb devices, 检查android是否启动

用 adb push pnp5 data/

用 adb shell 进入设备,而后运行 cd data; chmod 777 pnp5; ./pnp5


hello world 就打印出来了


最简单 NDK 例子

标签:

原文地址:http://blog.csdn.net/span76/article/details/44225415

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!