最近Android studio 2.2版本更新带来了一些改变,其中增强了C/C++的实现。对NDK的复杂安装进行了简化,使得在Android studio2.2中可以快速实现NDK的开发。
如果使用CMake编译:
步骤1:
创建java本地方法类myndk.java:
[java] view plain copy
public class myndk {
public native String getstr();
public native int getSums(int a,int b);
public native int getSum();
// Used to load the 'native-lib' library on application startup.
static {
System.loadLibrary("native-lib");
}
}
步骤2:
使用命令:javah -jni com.example.cuboo.myapplication.myndk 创建myndk.java的头文件com_example_cuboo_myapplication_myndk.h
(进入项目main/java目录后使用javah命令 )
复制头文件到cpp目录下:
Android视图下:隐藏了头文件
project 视图下显示:
步骤3:
创建hello.cpp实现本地方法文件
[cpp] view plain copy
#include <jni.h>
#include "com_example_cuboo_myapplication_myndk.h"
JNIEXPORT jstring JNICALL
Java_com_example_cuboo_myapplication_myndk_getstr(JNIEnv *env, jobject instance) {
return env->NewStringUTF("hello ndk");
}
JNIEXPORT jint JNICALL
Java_com_example_cuboo_myapplication_myndk_getSum(JNIEnv *env, jobject instance) {
return 8;
}
JNIEXPORT jint JNICALL
Java_com_example_cuboo_myapplication_myndk_getSums(JNIEnv *env, jobject instance, jint a, jint b) {
return a+b;
}
步骤4:
把hello.app文件加入到CMakelists.text:
[plain] view plain copy
add_library( # Sets the name of the library.
native-lib
# Sets the library as a shared library.
SHARED
# Provides a relative path to your source file(s).
# Associated headers in the same location as their source
# file are automatically included.
#src/main/cpp/native-lib.cpp
src/main/cpp/hello.cpp)
在Android studio 2.2中配置NDK和开发
最新推荐文章于 2021-06-07 11:35:15 发布