六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 37|回复: 0

Android JNI简单实例(android 调用C/C++代码)

[复制链接]

升级  90%

49

主题

49

主题

49

主题

秀才

Rank: 2

积分
185
 楼主| 发表于 2013-1-26 13:51:02 | 显示全部楼层 |阅读模式
 
<div class="blog_content">Android的jni实例

android 的应用程序(Dalvik VM)中使用JNI(Java Native Interface)调用C/C++开发的共享库。

c/c++中调用java程序的方法以后再发。


开发环境

(eclipse + android ADT)

WindowsXP SP3

JDK 1.6.0.12

VMWARE+Ubuntu Linux 8.04

    

(1) Eclipse中新建android工程

工程名 JNItest

Package名com.ura.test

Activity名 JNItest

应用程序名 JNItest

(2) 编辑main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:orientation="vertical"     android:layout_width="fill_parent"     android:layout_height="fill_parent"     > <TextView      android:id="@+id/JNITest"     android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:text="@string/JNITest"     /> </LinearLayout>
(3)编辑java文件
<div class="dp-highlighter"><div class="bar">package com.ura.test;   import android.app.Activity;  import android.os.Bundle;  import android.widget.TextView;  public class JNITest extends Activity {      /** Called when the activity is first created. */     static {              System.loadLibrary("JNITest");     }     public native String GetTest();           @Override      public void onCreate(Bundle savedInstanceState) {          super.onCreate(savedInstanceState);          setContentView(R.layout.main);          String str =GetTest();          TextView JNITest = (TextView)findViewById(R.id.JNITest);          JNITest.setText(str);      }  }
(4)生成head文件
编译上面工程声称class文件,然后用javah工具生成c/c++ 头文件
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表