Android Studio 开发JNI工程步骤
来源:互联网 发布:电子日历制作软件 编辑:程序博客网 时间:2024/06/06 03:52
参考:http://blog.csdn.net/sodino/article/details/41946607
自己把遇到的问题的步骤又整合了下。
NDK的下载:http://developer.android.com/tools/sdk/ndk/index.html#Revisions
Step: 1. 添加native接口
注意写好native接口和System.loadLibrary()即可了,并无特别之处。
P.S:onCreate()中对R.id.txt执行setText(),所以这里需要对xml布局文件按正常的开发步骤进行修改即可。
直接给出代码如下:
public class MainActivity extends AppCompatActivity { static { System.loadLibrary("JniTest"); } private native String getStringFromNative(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView text1 = (TextView) findViewById(R.id.text1); text1.setText(getStringFromNative()); }}Step: 2.执行Build->Make Project
这里编译通过不报错就行。
Step: 3.javah生成c头文件
点击"View->Tool Windows->Terminal",即在Studio中进行终端命令行工具.执行如下命令生成c语言头文件。
操作命令:
javah -d jni的路径com.example.administrator.testjni.MainActivity
我的jni目录和java目录同级,所以这里../jni是返回main进入jni文件夹的意思。
Step: 4.编辑c文件
在jni目录下新建一个c文件,随意取名,我的叫jnitest.c 。然后编辑代码如下(后面会解释啥意思,这里重在工具使用):
#include "com_example_administrator_testjni_MainActivity.h"/** * yfchu测试 * * */JNIEXPORT jstring JNICALL Java_com_example_administrator_testjni_MainActivity_getStringFromNative (JNIEnv *env,jobject obj){ return (*env)->NewStringUTF(env,"This just a test for Android Studio NDK JNI developer!");}
Step: 5.配置NDK
这一步包括两个动作:
1.指明ndk路径
2. 修改build.gradle配置
工程中共有两个build.gradle配置文件,我们要修改的是在<Project>\app\build.gradle这个文件。为其在defaultConfig分支中增加上
还要:添加 android.useDeprecatedNdk=true 到该 gradle.properties 文件中。
(不加会报错:android studio Set "android.useDeprecatedNdk=true" in gradle.properties to continue using the curren)
这时,再执行"Build->Rebuild Project",就可以编译出so文件了。
运行app:
0 0
- Android Studio 开发JNI工程步骤
- Android Studio开发JNI工程
- Android Studio开发JNI工程
- Android Studio开发JNI工程
- Android Studio开发JNI工程
- Android Studio开发JNI工程
- Android Studio开发JNI工程
- Android Studio开发JNI工程
- Android Studio开发JNI工程
- Android Studio开发JNI工程
- Android Studio开发JNI工程
- Android Studio开发JNI工程
- Android Studio开发JNI工程
- Android Studio开发JNI工程
- 利用Android studio开发JNI工程
- android JNI 开发步骤
- android JNI 开发步骤
- Android Studio上面使用Ndk JNI 开发工程
- 完美解决Nginx配置反向代理时出现的13: Permission denied) while connecting to upstream, client: 127.0.0.1
- printf
- phpMyAdmin使用教程:[2]用户及权限管理
- webview和h5的交互
- 单独使用EHCache
- Android Studio 开发JNI工程步骤
- C# 重构之四(提取接口重构)
- xml tomcat 关系
- Kafka分布式消息队列框架
- arrayList——list和arrayList区别
- VB是否过时?
- oracle数据库使用学习
- caffe的LMDB数据库输入数据类型由char改为float
- SICP_Python版第三章:递归与迭代