NDK入门demo

Android Studio NDK开发入门demo

1、创建工程,路径为C:\Users\Administrator\AndroidStudioProjects\xy

cn.xy.MainActivity.java代码如下

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        TextView textView = (TextView) findViewById(R.id.tv);
        textView.setText(NDKTestFromJNI());

//        Log.i("输出结果",""+NDKTestFromJNI());
    }

    static {
        System.loadLibrary("demo");
    }

   public native String NDKTestFromJNI();
}

 

2、新建jni文件

新建demo.c

#include <jni.h>

JNIEXPORT jstring JNICALL Java_cn_xy_MainActivity_NDKTestFromJNI(JNIEnv *env, jobject obj){
     return(*env)->NewStringUTF(env,"this is ndk demo");
}

新建Android.mk

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

3、生成so文件

打开终端terminal执行如下代码

C:\Users\Administrator\AndroidStudioProjects\xy>cd app

C:\Users\Administrator\AndroidStudioProjects\xy\app>ndk-build

[arm64-v8a] Compile        : demo <= demo.c

[arm64-v8a] SharedLibrary  : libdemo.so

[arm64-v8a] Install        : libdemo.so => libs/arm64-v8a/libdemo.so

[x86_64] Compile        : demo <= demo.c

[x86_64] SharedLibrary  : libdemo.so

[x86_64] Install        : libdemo.so => libs/x86_64/libdemo.so

[mips64] Compile        : demo <= demo.c

[mips64] SharedLibrary  : libdemo.so

[mips64] Install        : libdemo.so => libs/mips64/libdemo.so

[armeabi-v7a] Compile thumb  : demo <= demo.c

[armeabi-v7a] SharedLibrary  : libdemo.so

[armeabi-v7a] Install        : libdemo.so => libs/armeabi-v7a/libdemo.so

[armeabi] Compile thumb  : demo <= demo.c

[armeabi] SharedLibrary  : libdemo.so

[armeabi] Install        : libdemo.so => libs/armeabi/libdemo.so

[x86] Compile        : demo <= demo.c

[x86] SharedLibrary  : libdemo.so

[x86] Install        : libdemo.so => libs/x86/libdemo.so

[mips] Compile        : demo <= demo.c

[mips] SharedLibrary  : libdemo.so

[mips] Install        : libdemo.so => libs/mips/libdemo.so

显示如上则表示.so生成成功

4、配置

Build.gradle:

①Android 下

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

 

②Android 下defaultConfig增加

ndk{
    moduleName "demo"
    
ldLibs"demo"
    
abiFilters"armeabi","mips","x86"
}

 

Gradle.properties:

 

 增加:android.useDeprecatedNdk=true

 

Local.properties:

ndk.dir=C\:\\Users\\Administrator\\AppData\\Local\\Android\\Sdk\\ndk-bundle
sdk.dir
=C\:\\Users\\Administrator\\AppData\\Local\\Android\\Sdk

5、编辑调试结果如下:

 

6、参考目录结构:

7参考下载地址

http://download.csdn.net/detail/tuchaofu/9576074

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值