android studio ndk

Android.mk

新建目录 src/main/jni

新建文件 src/main/jni/Android.mk

LOCAL_PATH:=$(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE:=hello-jni
LOCAL_SRC_FILES:=c.cpp
include $(BUILD_SHARED_LIBRARY)

新建文件 src/main/jni/Application.mk

APP_ABI := all

MainActivity.java


public class MainActivity extends AppCompatActivity {

    static {
        System.loadLibrary("hello-jni");
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        TextView tv = (TextView) findViewById(R.id.sample_text);
        tv.setText(getstr());
    }


    public native String getstr();
}

根据 native 方法生成 代码

新建文件 src/main/jni/c.cpp


#include <jni.h>
extern "C"

JNIEXPORT jstring JNICALL
Java_thereisnospon_ndkdemo_MainActivity_getstr(JNIEnv *env, jobject instance) {

    // TODO

    return env->NewStringUTF("value");
}

app 下的 build.gradle 的 android 下 添加

 sourceSets {
        main {
            jniLibs.srcDirs = ['src/main/libs']
        }
    }

猜你喜欢

转载自blog.csdn.net/yzr1183739890/article/details/73823952