过去一直用 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"); }
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/ 的更新补充吧