`
地球小野花
  • 浏览: 163960 次
  • 性别: Icon_minigender_1
  • 来自: 马赛大回旋
社区版块
存档分类
最新评论

转-Android原生(Native)C(JNI/NDK)开发之一:环境搭建篇

阅读更多


为方便以后学习和工作,现转载一批文章,方便以后使用。

 

来源:http://blog.sina.com.cn/s/blog_4a0a39c30100auh9.html   作者:风子

 

Android是基于Linux的操作系统,处理器是ARM的,所以要在Linux或Windows等x86系统上编译Android能运行的程序,你需要一个交叉编译器。

在Linux下面,你可以自已编译一个交叉编译环境,但Windows下面,就比较复杂(也可以在cygwin中编译一个),但你可以选择下载一个现成的交叉编译环境:

http://www.codesourcery.com/gnu_toolchains/arm/download.html

Windows: http://www.codesourcery.com/gnu_toolchains/arm/portal/package3400/public/arm-none-linux-gnueabi/arm-2008q3-41-arm-none-linux-gnueabi.exe

Linux: http://www.codesourcery.com/gnu_toolchains/arm/portal/package3399/public/arm-none-linux-gnueabi/arm-2008q3-41-arm-none-linux-gnueabi.bin

 

安装好了之后,将 CodeSourcery编译器的bin目录 (我的是D:\Program Files\CodeSourcery\Sourcery G++ Lite\bin) 加入你的PATH环境变量中,就可以开始你的Android Native C开发之旅了,写好一个简单的C程序:

#include <stdlib.h>

int main(int argc, char** argv) {
 printf("hello android!\nI'm %s!\nI like android very much!!!\n", "Martin Foo");
 
 return 0;
}


另存成hello.c,进入命令行模式,确保交叉编译器的bin目录,及Android SDK的tools目录在你的系统环境变量的path里面,用如下命令编译:

arm-none-linux-gnueabi-gcc -static hello.c -o hello

注意,一定要加上static参数,否则编译好的可能会在Android上不能运行。

启动Android模拟器,用如下命令将文件push到Android模拟器上:

adb shell mkdir /dev/sample
adb push hello /dev/sample/hello

adb shell chmod 777 /dev/sample/hello

 

先创建 /dev/sample目录,再将编译好的hello上传上去,最后将hello改成可执行的。

再进入命令行模式,进入Android的shell环境:

adb shell

#cd /dev/sample

#./hello

进入 /dev/sample目录,执行hello,运行结果如下图:

 


 

 

  • 大小: 46.3 KB
分享到:
评论

相关推荐

    android-ndk(android-ndk-r25b-linux.zip)

    Android NDK,全称为Native Development Kit,是Google提供的一款用于Android平台的C和C++库开发工具集。这个“android-ndk-r25b-linux.zip”文件是NDK的一个特定版本,即r25b,专为Linux操作系统设计。在Android...

    android-ndk(android-ndk-r26b-windows.zip)

    Android NDK,全称为Native Development Kit,是Google提供的一款用于Android平台的C和C++开发工具集。这个压缩包“android-ndk-r26b-windows.zip”包含了NDK的第26个版本,专为Windows操作系统设计。通过这个工具,...

    android eclipse jni(ndk) 开发环境的搭建

    ### Android Eclipse JNI (NDK) 开发环境搭建详解 #### 一、引言 随着移动互联网的迅猛发展,Android平台的应用开发变得越来越重要。而JNI(Java Native Interface)与NDK(Native Development Kit)作为连接Java层...

    android-ndk(android-ndk-r25b-windows.zip)

    Android NDK,全称为Native Development Kit,是Google提供的一款用于Android平台的C和C++开发工具集。这个压缩包“android-ndk-r25b-windows.zip”包含了NDK的第25个版本,专为Windows操作系统设计。NDK的主要功能...

    android-ndk-r18b-windows-x86_64.zip

    Android NDK(Native Development Kit)是Google为Android平台开发的一款重要的工具集,它允许开发者使用C和C++语言编写应用程序的底层代码。标题中的“android-ndk-r18b-windows-x86_64.zip”表明这是一个适用于...

    JNI NDK 开发指南

    NDK(Native Development Kit)是Google提供的一套工具集,用于在Android平台上开发原生代码,通常用C++或其他本地语言编写,以提高性能或使用特定硬件功能。 JNI在Android开发中的应用主要体现在以下几个方面: 1...

    android-ndk(android-ndk-r26b-darwin.zip)

    Android NDK,全称为Native Development Kit,是Google提供的一款用于Android平台的C和C++原生代码开发工具。NDK允许开发者在Android应用中使用原生代码,以实现高性能、低级别的硬件交互以及利用已有的C/C++库。在...

    android-ndk(android-ndk-r23b-linux.zip)

    Android NDK,全称为Native Development Kit,是Google提供的一款用于Android平台的C和C++库开发工具集。这个“android-ndk-r23b-linux.zip”文件是NDK的一个特定版本,即r23b,专为Linux操作系统设计。在Android...

    android-ndk(android-ndk-r23b-windows.zip)

    Android NDK,全称为Native Development Kit,是Google提供的一款用于Android平台的C/C++开发工具集。这个"android-ndk-r23b-windows.zip"压缩包包含了NDK的第23个版本,专为Windows操作系统设计。NDK是Android应用...

    android-ndk-r17c-windows-x86_64.zip

    Android NDK(Native Development Kit)是Google为Android平台提供的一款用于开发原生代码的应用程序工具集,它允许开发者使用C和C++等低级语言编写部分应用,以提高性能或利用特定硬件功能。"android-ndk-r17c-...

    Android Studio JNI_NDK开发实例

    Android Studio JNI_NDK开发实例是Android应用开发中的一个重要领域,涉及到Java与原生代码(C/C++)的交互。JNI(Java Native Interface)是Java平台的一部分,它允许Java代码和其他语言写的代码进行交互。NDK...

    Android NDK移植jpeg-turbo库

    Android NDK(Native Development Kit)是Google提供的一个工具集,允许开发者用C/C++编写原生代码,然后在Android平台上运行。为了在NDK环境中构建jpeg-turbo,我们需要准备以下步骤: 1. **配置环境**:确保已...

    android-ndk(android-ndk-r26b-linux.zip)

    Android NDK,全称为Native Development Kit,是Google提供的一款用于Android平台的开发工具,它允许开发者使用C++和其他原生编程语言编写应用的部分或全部代码。这个“android-ndk-r26b-linux.zip”文件是NDK的一个...

    android-serialport-api-DL645-1997 安卓串口编程 jni ndk cygwin

    NDK(Native Development Kit)是Google提供的一个工具集,它允许开发者在Android应用中使用原生代码。NDK包含了一系列的工具,用于编译、调试和运行原生代码,这通常是为了解决性能瓶颈或者利用特定硬件功能。在`...

    android-ndk-r23-windows.zip

    Android Native Development Kit (NDK) 是Google提供的一款用于开发Android应用程序的重要工具集,它允许开发者使用C和C++编写部分或全部应用程序,以利用原生代码的高性能。本文将深入探讨Android NDK R23在Windows...

    android-ndk(android-ndk-r25b-darwin.zip)

    Android NDK,全称为Native Development Kit,是Google提供的一款用于Android平台的C和C++库开发工具集。这个工具允许开发者在Android应用中使用原生代码,以实现高性能计算、图形处理、游戏引擎等复杂功能。`...

    Android C++高级编程 使用NDK

    Android NDK(Native Development Kit)是Google提供的一个工具集,它允许开发者使用原生代码(如C和C++)来编写部分或全部应用,以实现高性能计算和系统级操作。本篇文章将深入探讨NDK的使用方法、优势以及相关的...

    基于 Android NDK 的学习之旅-----JNI LOG 打印

    总结起来,这个“基于Android NDK的学习之旅”将带你深入理解JNI的LOG打印,这是一项实用的技能,对于进行Android的原生开发和调试至关重要。通过实践和学习,你可以熟练掌握这一技术,从而提升你的Android开发能力...

    aarch64-linux-android-4.9.zip_NDK AARCH64_aarch64 ndk_android_nd

    在移动应用开发领域,Android NDK(Native Development Kit)是一个不可或缺的工具,它允许开发者使用C、C++等原生代码进行高性能计算,尤其适用于图形处理、游戏引擎以及底层系统库的开发。本篇将深入探讨在AARCH64...

Global site tag (gtag.js) - Google Analytics