Eclipse NDK开发基本流程

Eclipse NDK开发基本流程,第1张

概述 Eclipse进行NDK开发的基本流程是:创建Android工程--->完成java函数的编写,添加jni的接口函数(native函数)的添加--->添加jni文件夹,添加Android.mk文件和源文件--->在源文件中实现接口函数--->用ndk-build把源文件编译成lib库--->启动Android模拟器,安装运行工程。  举例: 1、打开Eclipse,添加一  Eclipse进行NDK开发的基本流程是:

创建AndroID工程--->完成java函数的编写,添加jni的接口函数(native函数)的添加--->添加jni文件夹,添加AndroID.mk文件和源文件--->在源文件中实现接口函数--->用ndk-build把源文件编译成lib库--->启动AndroID模拟器,安装运行工程。

 

 举例:

 1、打开Eclipse,添加一个androID工程。工程的名称为IDETTest,然后根据提示完成Activity名称(IDETest)和java包(com.test.IDETest)的填写。注意java包的名称中最好不要有下划线,可能在以后的jni调用中调用失败,因为jni的接口函数的格式是Java_java包的名称_Activity名称_声明的函数

 2、完成java代码的编写,在需要进行jni调用的类中引入ndk交叉编译的调用:

    static {        System.loadlibrary("IDETest");

    } 

 同时在类中声明native函数(在C文件中被创建,用NDK交叉编译)

 public native String generateID(String label);

 

完整的java文件如下所示:

package com.test.IDETest;import androID.app.Activity;import androID.Widget.TextVIEw;import androID.os.Bundle;public class IDETest extends Activity {    /** Called when the activity is first created. */    @OverrIDe    public voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        //setContentVIEw(R.layout.main);        TextVIEw tv=new TextVIEw(this);        tv.setText(generateID("47766"));        setContentVIEw(tv);    }        /*native method implement*/    public native String generateID(String label);    /*******************************/    /*import c lib*/    static {        System.loadlibrary("IDETest");    }

 3、在IDETest工程中添加文件夹,名称为jni。在jni文件夹下添加c模块的实现文件(.c和.h的文件工程)和AndroID.mk文件

  c模块的文件(IDETest.c)的内容

  #include <string.h>

  #include <jni.h>  #include <stdio.h>

 

JstringJava_com_test_IDETest_IDETest_generateID( jnienv* env, jobject thiz, Jstring label){ char *str=(char *)malloc(1024*sizeof(char)); sprintf(str,"Hello everybody! I am from XXX, and my ID is %s",(*env)->GetStringUTFChars(env,label,0)); printf("%s",str); return (*env)->NewStringUTF(env,str);}

 AndroID.mk文件

 

LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODulE    := IDETestLOCAL_SRC_fileS := IDETest.cinclude $(BUILD_SHARED_liBRARY)

 

 

 4、编译源代码为库文件。

 进入工程目录

 root@XXX-laptop:~/IDETest# ls

AndroIDManifest.xml  bin                 gen  libs  proguard.cfg  srcassets               default.propertIEs  jni  obj   resroot@XXX-laptop:~/IDETest# ndk-buildCompile thumb  : IDETest <= IDETest.cSharedlibrary  : libIDETest.soInstall        : libIDETest.so => libs/armeabi/libIDETest.so完成编译后会自动创建obj和libs文件夹

编译好的库文件就在这里面。

 5、启动AndroID模拟器运行工程。

 

 

转载于:https://www.cnblogs.com/imagelab/archive/2011/08/20/2147023.HTML

总结

以上是内存溢出为你收集整理的Eclipse NDK开发基本流程全部内容,希望文章能够帮你解决Eclipse NDK开发基本流程所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1118973.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存