Hello_JNI
来源:互联网 发布:工业工程研究生知乎 编辑:程序博客网 时间:2024/05/17 09:19
NDK 下载地址:http://developer.android.com/intl/zh-cn/ndk/downloads/index.html
工具:Android studio
新建工程 Hello_JNI
工程右击,选项:Open Module Settings: 设置Ndk路径 或者 :直接在local.properties 添加:ndk.dir=(ndk路径)/android-ndk-r10e
gradle.properties 添加:android.useDeprecatedNdk=true
新建class :
public class Ndk_JNI { public native String getCString();}
菜单栏:build -> Make Project (生成class文件,路径:工程所在目录\Hello_JNI\app\build\intermediates\classes\debug\包路径下\*.class)
Android Studio 下打开命令行(下方的Terminal窗口 , 如没有: View-> Tool Windows->Ternimal)
进入路径debug
了解javah命令:命令行输入 :javah -help
命令执行成功:debug下添加了jni目录,里面有一个.h文件
工程中在main目录下(java和res同级目录下新建文件夹:jni),打开debug下的jni目录,将.h文件拷贝到工程中的jni文件下
工程目录jni下,新建 .c 文件
#include "com_example_anlc_hello_jni_Ndk_JNI.h" //之前生成的头文件JNIEXPORT jstring JNICALL Java_com_example_anlc_hello_1jni_Ndk_1JNI_getCString (JNIEnv *env, jobject obj){ return (*env)->NewStringUTF(env,"This is from jni text");}
当前module下(比如,app)下的build.gradle 的 defaultConfig 里添加:
defaultConfig {... ndk{ moduleName "jniMethod" abiFilters "armeabi", "armeabi-v7a", "x86" //指定3种不同平台 }}
Ndk_JNI文件添加代码,完整代码:
public class Ndk_JNI { public native String getCString(); static { System.loadLibrary("jniMethod"); //build.gradle中moduleName的值}}
MainActivity.java:
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView textView = (TextView) findViewById(R.id.textView); Ndk_JNI ndk_jni=new Ndk_JNI(); textView.setText(ndk_jni.getCString()); }
0 0
- Hello_JNI
- SQL 视图(Views)
- iOS6下UITextField退格变清空问题的解决方法
- 蓝桥杯 排序
- tableView 使用注意事项:一个tableView展示不同的cell时复用,以及数据更新
- Unity3D AssetStore下载的文件保存位置
- Hello_JNI
- genymotion模拟器安装出现的问题及解决方案
- Python -- 使用SMTP发送邮件
- Myeclipse 闪退后无法打开Tomcat
- 统计图表--第三方开源--MPAndroidChart(一)
- caused by android.system.errnoexception open failed eacces (permission denied)解决方案,安卓6.0(API23)权限问题
- weblogic下开发hibernate发生jar包冲突问题
- 让TextView出现跑马灯效果
- android 中使用svg 失量图标