博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android NDK学习(三):Hello World
阅读量:6942 次
发布时间:2019-06-27

本文共 1242 字,大约阅读时间需要 4 分钟。

版权声明:转载请说明出处:

首先编写Jni接口的c文件,此文件命名有些特殊,具体的命名方式可以参考文档来做。

#include 
#include
#include
JNIEXPORT jstring JNICALLJava_com_renhui_mplayer_MainActivity_displayHelloWorld(JNIEnv *env, jobject obj){ return (*env)->NewStringUTF(env, "11111");}

配置Android.mk

#定义本地路径变量 LOCAL_PATHLOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := native-libLOCAL_SRC_FILES := native-lib.cinclude $(BUILD_SHARED_LIBRARY)

配置好mk文件后,在jni目录下执行ndk-build,即可获得当前所有的cpu平台的so文件。将so文件导入到项目中后,再写Java层的代码。

Java 代码

@Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    // Example of a call to a native method    TextView tv = (TextView) findViewById(R.id.sample_text);    tv.setText(displayHelloWorld());    }    /**     * A native method that is implemented by the 'native-lib' native library,     * which is packaged with this application.     */    public native String displayHelloWorld();    // Used to load the 'native-lib' library on application startup.    static {        System.loadLibrary("native-lib");    }

写完后,执行可以在真机上看到屏幕中有11111的内容输出。此时,NDK的hello world的学习就结束了,后续理解其他的NDK项目时,可以根据此思路来做相应的理解和调整。

 

你可能感兴趣的文章
I.MX6 U-boot编译找不到用户目录
查看>>
date 修改系统时间
查看>>
python coroutine的学习跟总结[转]
查看>>
String 的扩展方法
查看>>
[zhuan]Simple Emacs Configuration
查看>>
Flex Builder 3 下载与注册
查看>>
【存储方式】SharedPreference
查看>>
[转载]wp7
查看>>
WCF初见之HelloWorld
查看>>
无限循环小数怎么换成分数形式
查看>>
抄袭一点linux的经典资料
查看>>
ASP.net MVC: 一个开源的“留言系统”
查看>>
HTTP的请求头标签 If-Modified-Since
查看>>
阻塞和死锁问题整理一
查看>>
Android 时间日期Widget 开发详解
查看>>
[置顶] java 通过classloader加载类再通过classforname实例化
查看>>
Google Web Designer – 创建引人入胜的 HTML5 网站
查看>>
Qt5中的QtGui
查看>>
动态链接库(dll)简介(转)
查看>>
将某个组中的账户移动到新的OU下
查看>>