项目名:HelloFromC


  一、在开始jni编程之前对我们使用的环境进行如下配置:(在windows环境下)

 

  1、下载Android-ndk-r7b,解压放在C:\android-ndk-r7b目录下。(方便输入命令,也可以自定目录)

 

  2、下载cygwin。

 

  安装的时候,最高版本进行安装。

 

  3、配置NDK的 cygwin环境变量

 

  为了方便直接在命令行里面使用ndk-build

 

  需要给cygwin的环境变量里面添加ndk的目录

 

  目录/etc/profile/

 

  4、运行cygwin。(可输入如下命令:make -v ,gcc -v)

 

  输入make -v

 

  显示出来 GNU Make 的版本 ,说明我们的cygwin模拟的linux编译环境 模拟成功了.

 

  二、为eclipse增加c和c++的开发插件 CDT插件

 

  Help中的install new software

 

  选择 Helios- http://download.eclipse.org/release/helios

 

  等待展开,选择Programing language

 

  选择c/c++ 开发工具

 

  一路next下去。

 

  同意licenses

 

  安装成功会提示是不是确认重启eclipse,重启就完成安装。

 

  三、JNI简单案例:

 

  Java代码调用一个C方法打印HelloFromC

 

  MainActivity:

  package com.csdn.hello;

  import Android.app.Activity;

  import Android.os.Bundle;

  import Android.view.View;

  import Android.widget.Toast;

  public class MainActivity extends Activity {

  static{

  System.loadLibrary("Hello");//加载

  }

  public void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  setContentView(R.layout.main);

  }

  public native String helloFromC();

  public native String hello_from_c();

  public void onClick(View view){

  String result= helloFromC();

  Toast.makeText(this,result , 0).show();

  }

  }

  main.xml:

  Android:layout_width="fill_parent"

  Android:layout_height="fill_parent"

  Android:orientation="vertical" >

  

  Android:onClick="onClick"

  Android:layout_width="wrap_content"

  Android:layout_height="wrap_content"

  Android:text="HelloFromC" />

天翼空间