您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > Android开发教程之_Jni代码示例讲解
简介开发环境AndroidJni使用方法步骤(1)Eclipse中新建Android工程AndroidJni使用方法步骤(2)编辑main.xmlAndroidJni使用方法步骤(3)编辑java文件AndroidJni使用方法步骤(4)生成head文件AndroidJni使用方法步骤(5)编写c/c++文件AndroidJni使用方法步骤(6)编写Android.mk文件AndroidJni使用方法步骤(7)编译生成动态库AndroidJni使用方法步骤(8)在模拟器中执行程序在Android模拟器中可以对Android手机操作系统进行适当的修改,增加各种功能,以满足用户的需求。那么今天我们会为大家带来AndroidJni的相关使用方法,以方便大家对这一系统的解读。Android开发教程之Android的应用程序(DalvikVM)中使用JNI(JavaNativeInterface)调用C/C++开发的共享库。(eclipse+AndroidADT)WindowsXPSP3JDK1.6.0.12VMWARE+UbuntuLinux8.04工程名JNItestPackage名com.ura.testActivity名JNItest应用程序名JNItest1.?xmlversion=1.0encoding=utf-8?2.LinearLayoutxmlns:android=3.Android:orientation=vertical4.Android:layout_width=fill_parent5.Android:layout_height=fill_parent6.7.TextView8.Android:id=@+id/JNITest9.Android:layout_width=fill_parent10.Android:layout_height=wrap_content11.Android:text=@string/JNITest12./13./LinearLayout14.packagecom.ura.test;15.importAndroid.app.Activity;16.importAndroid.os.Bundle;17.importAndroid.widget.TextView;18.publicclassJNITestextendsActivity{19./**Calledwhentheactivityisfirstcreated.*/20.static{21.System.loadLibrary(JNITest);22.}23.publicnativeStringGetTest();24.@Override25.publicvoidonCreate(BundlesavedInstanceState){26.super.onCreate(savedInstanceState);27.setContentView(R.layout.main);28.Stringstr=GetTest();29.TextViewJNITest=(TextView)findViewById(R.id.JNITest);30.JNITest.setText(str);31.}32.}编译上面工程声称class文件,然后用javah工具生成c/c++头文件。33.javah-classpathbin-djnicom.ura.test.JNItest生成的头文件如下34./*DONOTEDITTHISFILE-itismachinegenerated*/35.#includejni.h36./*Headerforclasscom_ura_test_JNITest*/37.#ifndef_Included_com_ura_test_JNITest38.#define_Included_com_ura_test_JNITest39.#ifdef__cplusplus40.externC{41.#endif42./*43.*Class:com_ura_test_JNITest44.*Method:GetTest45.*Signature:()Ljava/lang/String;46.*/47.JNIEXPORTjstringJNICALLJava_com_ura_test_JNITest_GetTest48.(JNIEnv*,jobject);49.#ifdef__cplusplus50.}51.#endif52.#endif53.#includecom_ura_test_JNITest.h54.#defineLOG_TAGJNITest55.#undefLOG56.#includeutils/Log.h57.JNIEXPORTjstringJNICALLJava_com_ura_test_JNITest_GetTest58.(JNIEnv*env,jobjectobj)59.{60.return(*env)-NewStringUTF(env,(char*)JNITestNativeString);61.LOGD(HelloLIB!\n);62.}AndroidJni使用方法步骤(6)编写Android.mk文件63.LOCAL_PATH:=$(callmy-dir)64.include$(CLEAR_VARS)65.LOCAL_SRC_FILES:=\66.com_ura_test_JNITest.c67.LOCAL_C_INCLUDES:=\68.$(JNI_H_INCLUDE)69.LOCAL_SHARED_LIBRARIES:=libutils70.LOCAL_PRELINK_MODULE:=false71.LOCAL_MODULE:=libJNITest72.include$(BUILD_SHARED_LIBRARY)新建文件夹73.~/mydroid/external/libJNITest把上面编写好的头文件,c/c++源文件,make文件拷贝进上面目录中*需要注意的是把PRELINK_MOUDULE设置成false否则需要重新做成img文件再烧入。在ubuntu中执行74.cd75.cdmydroid/build/76.envsetup.sh77.cd~/mydroid78.cdexternal/libJNITest/79.mm编译成功的后会在下面目录中生成libJNITest.so文件80.~mydroid/out/target/product/generic/system/lib/首先要把动态库拷进/system/lib中。启动模拟器81.adbshell82.adbremount83.adbpushlibJNITest.so/system/lib确认拷贝成功。84.cd/system/lib85.ls然后不要关闭模拟器(关掉再开动态库就没了,因为模拟器rom是只读)执行java程序JNITest会看到屏幕上打印出JNITestNativeStringAndroidJni的具体使用方法就为大家介绍到这里。
本文标题:Android开发教程之_Jni代码示例讲解
链接地址:https://www.777doc.com/doc-2901272 .html