android studio JNI编程
2015-11-02 09:22
344 查看
1.添加native接口
然后make project
2.用javah命令生成.h文件
格式:javah -d jni -classpath <SDK_android.jar>;<APP_classes> com.chuangxue.jackie.md5test3.MainActivity
其中<SDK_android.jar>填上你的sdk中android.jar文件的具体路径, <APP_classes>就是你的class文件存放的位置
例子:javah -d jni -classpath F:\AndroidSDK\platforms\android-22\android.jar;..\..\build\intermediates\classes\debugcom.chuangxue.jackie.md5test3.MainActivity
接着就会在main文件夹下生成一个jni文件夹,里面会有一个头文件
3.编写C文件,要保存在jni目录下,记得还要再添加一个空的.c文件不然会报错,这里不贴代码了
然后再make project
4.配置NDK路径
点击project structure
右边一栏有一个android NDK location 选择你的NDK路径,注意不能有空格和中文
5.修改build.gradle文件
我们要修改的是project\app文件下的那一个
在defaultConfig下添加
6.在local.properties文件最后添加一行
醉胡rebuild project就可以生成so文件了
so文件存放在project\app\build\intermediates\ndk\debug\lib
public class MainActivity extends Activity { static{ System.loadLibrary("JniTest"); } public native void md5Encode(String inputStr); String result; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); new Thread(new Runnable() { @Override public void run() { md5Encode("admin"); } }).start(); // System.out.println("result---------------------------" + result); }
然后make project
2.用javah命令生成.h文件
格式:javah -d jni -classpath <SDK_android.jar>;<APP_classes> com.chuangxue.jackie.md5test3.MainActivity
其中<SDK_android.jar>填上你的sdk中android.jar文件的具体路径, <APP_classes>就是你的class文件存放的位置
例子:javah -d jni -classpath F:\AndroidSDK\platforms\android-22\android.jar;..\..\build\intermediates\classes\debugcom.chuangxue.jackie.md5test3.MainActivity
接着就会在main文件夹下生成一个jni文件夹,里面会有一个头文件
3.编写C文件,要保存在jni目录下,记得还要再添加一个空的.c文件不然会报错,这里不贴代码了
然后再make project
4.配置NDK路径
点击project structure
右边一栏有一个android NDK location 选择你的NDK路径,注意不能有空格和中文
5.修改build.gradle文件
我们要修改的是project\app文件下的那一个
在defaultConfig下添加
ndk { moduleName "JniTest" ldLibs "log", "z", "m" abiFilters "armeabi", "armeabi-v7a", "x86" }
6.在local.properties文件最后添加一行
android.useDeprecatedNdk=true
醉胡rebuild project就可以生成so文件了
so文件存放在project\app\build\intermediates\ndk\debug\lib
相关文章推荐
- Android自定义控件之仿汽车之家下拉刷新
- 修改Launcher2在ADT上编译调试(一)
- Android AndroidManifest 清单文件以及权限详解
- Android ViewTreeObserver简介
- 清除android程序中的多余资源
- 完全解决!android studio更新 check for updates失败的问题
- ACTION_POWER_DISCONNECTED广播使用解析
- Android Service完全解析(上)
- Android之如何解决Android Studio左边的的project不见了
- 关于Intent用法的几点学习笔记
- Android手势识别
- Android之解析XML文件
- android studio之argument for @notnull parameter 'name'
- Android 解决方法数超上限遇到的问题
- AndroidListView工作理完全解析 带你从源码的角度彻底理解
- AndroidListView工作理完全解析 带你从源码的角度彻底理解
- Android动画
- android添加触摸事件
- Android 开发中,有哪些坑需要注意?
- Android开发涉及有点概念&相关知识点(待写)