android studio老办法编jni

来源:互联网 发布:安卓软件编写 编辑:程序博客网 时间:2024/06/03 19:29

过去一直用 eclipse, 现在google的官方支持都到 android studio, 所以必须用会它


以前在双核i3 win7上运行AS, 慢得如同噩梦一般

由来在 ubuntu  i5上运行,而后勇xming来作为xserver, UI相应还是慢得同噩梦

只好全在ubuntu上运行了

比较奇怪的是 AS 经常要访问网络,如果被 GFW 挡住了,就没法使用了


实验了一个NDK的例子

1)先新建一个Project

 改资源文件,给一个textview 设置一个id,  ( @+id/tv1 )

 就可以用 TextView tv = (TextView ) findViewById("R.id.tv1"); 来获得对象,并调用方法 tv.setText("hello");


2) 创建一个 class com.example.payne.myapplication.NdkJniUtils

 包含一个 native String hello();

 就可以用 javah -jni com.example.payne.myapplication.NdkJniUtils 生成一个 h

参照写一个 cpp 文件

 cat com_example_payne_myapplication_NdkJniUtils.cpp #include "com_example_payne_myapplication_NdkJniUtils.h"JNIEXPORT jstring JNICALL Java_com_example_payne_myapplication_NdkJniUtils_hello(JNIEnv *env, jobject obj){   return (*env).NewStringUTF("hello from jni");}

都放在目录 ~/StudioProjects/MyApplication/app/src/main/jni


3)在 module的 build.gradle文件中加入

        ndk {
            moduleName "PnPJni"
            abiFilters "armeabi", "armeabi-v7a", "x86"
        }

 并在 .java中调用 System.loadLibrary(“PnPJni") 

4) 开始编译

AS 15.1提示不支持Jni plugin 如何要继续用

在 gradle.properties  加入 android.useDeprecatedNdk=true


本文算对 http://yanbober.github.io/2015/02/14/android_studio_jni_1/ 的更新补充吧

0 0
原创粉丝点击