`

Android原生(Native)C开发之一:环境搭建篇

阅读更多

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,

分享到:
评论

相关推荐

    React Native 开发指南_中文扫描完整版

    3.1 搭建环境 13 3.2 创建一个新的应用 17 3.3 探索示例代码 24 3.4 开发天气应用 27 3.5 小结 40 第4章 移动应用组件 42 4.1 类比HTML 元素与原生组件 42 4.2 处理触摸和手势 46 4.3 使用结构化组件 58 ...

    Android原生项目集成React Native的方法

    首先按照开发环境搭建教程来安装React Native在安卓平台上所需的一切依赖软件(比如npm)。 在应用中添加JS代码 在项目的根目录中运行: $ npm init $ npm install --save react react-native $ curl -o ....

    Android项目_jni操作指南.rar

    2. JNI开发环境搭建:讲解了如何配置JNI开发环境,包括编译工具、调试工具等。 3. Java与C/C++的交互:详细阐述了如何在Java代码中调用C/C++编写的本地方法,以及在C/C++中回调Java方法的具体实现。 4. 本地代码的...

    阿里云javasdk源码-galaxy:React原生探索0.57.4

    一、搭建开发环境 ::: tip React Native 中文网(以下我们简称“中文网”)对此已经做了详尽的说明,请移步: ::: 作为补充,这里我们奉上 NodeJs、Java环境的配置和维护: NodeJs开发环境维护: Java环境维护: 二...

    reactnative_demo:react-native 与原生交互,基类封装,网络框架

    react_demo基本组件搭建,框架先执行命令安装插件npm install运行命令react-native run-android运行项目运行环境:android模拟器(真机)[运行环境]+webStorm(编写工具)+node.js(虚拟机服务器)

    ionic混合开发APP

    2.2 环境搭建 2.2.1 概述 2.2.2 JDK 2.2.2.1 版本 jdk1.8 2.2.2.2 配置 JAVA_HOME PATH CLASSPATH 2.2.3 Apache ant 2.2.3.1 版本 1.9.12 2.2.3.2 解压 2.2.3.3 配置 ANT_HOME: D:\android\apache-...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    HybridApp 一种可以下载的Native App,其用户界面的全部或者部分元素在嵌入式浏览器组件(WebView之类的)里面运行 优雅降级 一开始就构建站点的完整功能,然后针对浏览器测试和修复。认为应该针对那些最高级、最...

    WJCordovaDemo:CordovaDemo:介绍,环境搭建,创建项目,Native API的使用

    Cordova—iOS教程##一、Cordova说明:Cordova提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头、麦克风等。 Cordova还提供了一组统一JavaScript类库,以及为这些类库...

    weex-frame:weex基于vue2.0开发框架

    工作原理先简单熟悉一下weex的工作原理,这里引用一下weex官网上的一张图片,开发环境搭建weex开发环境搭建android,iOS开发环境框架说明基于vue2.0构建像前面说的那样weex和vue一直在努力的进行生态互通,而且weex...

    Android JNI详解,让你彻底了解JNI (上)

    本套课程共分为三部分,当前为第一部分,主要包括内容:1、JNI名词释义2、JNI环境搭建3、Native项目解析4、编译工具使用5、边学边实战,从易到难,循序渐进适合人群:1、有一定Android基础,零JNI基础的学员;...

    MLN:高效,小巧,易上手的移动跨平台开发框架。 使用Lua构建移动跨平台应用程序的框架

    开发环境搭建IntelliJ IDEA:MLN推荐使用IDEA进行开发,IDEA安装插件后可以使用热重载方式进行页面预览Android Studio(推荐使用3.5版本): Xcode:可在App Store中搜索下载演示运行通过Demo了解MLN,前往SDK接入...

    ReactNativeForAndroid架构初探

    环境搭建及调试相关知识参考官网文档(ReactNative)即可,本文不再赘述。1)层次架构:Java层:java层为逻辑入口,启动C++层的javascript解析器,执行js通过c++传递来的渲染指令,从而构建NativeUI等。java层依

    阿里云javasdk源码-PolyvRNLiveScenesDemo:多场景RN插件示例演示

    搭建好运行 React Native 的相关环境; 准备在使用 React Native 技术开发的项目中接入多场景功能; 在注册账号,并开通相关服务。 1.3 版本功能 RN 版本是基于原生 demo + sdk 开发的,iOS 与 android 对应版本,及...

Global site tag (gtag.js) - Google Analytics