Android NDK用Android studio开发步骤:
2016-03-01 12:55
483 查看
1.先在类中写一个native本地方法,例如(static非必须,只为调用方便):
2.然后rebuild probject,在项目app/build/intermediates/classes/debug/包名下,会生成上面类名.class,
打开命令窗口,cd到项目\app\build\intermediates\classes\debug下,输入命令:javah -jni 包名.JniTest,
会在debug下生成 包名_JniTest.h的头文件,在app/src/main下创建文件夹jni,剪切上面头文件到jni下
3.根据头文件在jni下创建JniTest.c
4.在build.gradle里添加
5.调用
6.运行,没问题的话就看到结果了
7.so包:会在app\build\intermediates\ndk\debug\lib下生成上面ndkabiFilters对应的三个文件夹
打开任意一个可以看到so库
这就是我们平时直接调用的so库,把这些文件夹放到其他项目的app\src\main\jniLibs,
把1里面的类放到src对应包里,调用1类即可。
8.全程注意包名要一致!
public class JniTest { static { System.loadLibrary("JniTest"); //跟下面moduleName名字要一致 } public static native String getString(String s); }
2.然后rebuild probject,在项目app/build/intermediates/classes/debug/包名下,会生成上面类名.class,
打开命令窗口,cd到项目\app\build\intermediates\classes\debug下,输入命令:javah -jni 包名.JniTest,
会在debug下生成 包名_JniTest.h的头文件,在app/src/main下创建文件夹jni,剪切上面头文件到jni下
3.根据头文件在jni下创建JniTest.c
#include <jni.h> jstring Java_com_okdrive_others_JniTest_getString (JNIEnv *env, jclass j,jstring s){ return s; }
4.在build.gradle里添加
defaultConfig { ndk { moduleName "JniTest" //生成的so名字 abiFilters "armeabi", "armeabi-v7a", "x86" //输出指定三种abi体系结构下的so库,目前可有可无。 } }
5.调用
textView.setText(JniTest.getString("这是JniTest测试"));
6.运行,没问题的话就看到结果了
7.so包:会在app\build\intermediates\ndk\debug\lib下生成上面ndkabiFilters对应的三个文件夹
打开任意一个可以看到so库
这就是我们平时直接调用的so库,把这些文件夹放到其他项目的app\src\main\jniLibs,
把1里面的类放到src对应包里,调用1类即可。
8.全程注意包名要一致!
相关文章推荐
- Android中的ANR和OOM
- android adb pm命令
- android studio JNI(NDK)超详细图文步骤,适合新手
- Android画一个几何图形
- 4.5.2.3 android-Ultra-Pull-To-Refresh使用教程集锦
- Android6.0 应用调试
- Android Studio上非常棒的插件
- android 局域网对讲机
- 传智播客Android就业班学习(第一天 Android入门)
- 关于电源锁:android之WakeLock机制浅析
- Android不同层次开启硬件加速的方式(转)
- Android 5.0 Material Design系列
- android之存储篇_SQLite数据库_让你彻底学会SQLite的使用
- Android SQLITE数据类型
- Android 5.0学习之动画
- 利用HTML5开发Android笔记
- Android视图View之--获取View大小时机
- Android通知栏多条通知冲突的问题
- Android进度条实例
- Android JSBridge的原理与实现