莫道桑榆晚,为霞尚满天。这篇文章主要讲述Android NDK 之 Hello World相关的知识,希望能为你提供帮助。
首先编写Jni接口的c文件,此文件命名有些特殊,具体的命名方式可以参考文档来做。
#include < jni.h> #include < string.h> #include < stdio.h> JNIEXPORT jstring JNICALL java_com_renhui_mplayer_MainActivity_displayHelloWorld(JNIEnv *env, jobject obj) { return (*env)-> NewStringUTF(env, "11111"); }
配置android.mk
#定义本地路径变量 LOCAL_PATH LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := native-lib LOCAL_SRC_FILES := native-lib.c include $(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项目时,可以根据此思路来做相应的理解和调整。
【Android NDK 之 Hello World】
推荐阅读
- Android学习笔记View的工作原理
- APP-午饭去哪吃
- Android--清除默认桌面设置和设置默认桌面(转)
- Android 编码规范
- 0-Android应用程序的Activity启动过程简要介绍和学习计划
- eclipse Android项目 DDMSdb文件 导出 Failed to pull selection null 问题
- .Net语言 APP开发平台——Smobiler学习日志(在手机应用开发中如何快速实现应用间的分享功能)
- ASP.NET Web Application中使用链接文件
- android 之 菜单