windows下 android studio 的NDK开发环境配置(1)(2)

来源:互联网 发布:费根鲍姆常数 知乎 编辑:程序博客网 时间:2024/05/16 17:02

参考博主文章链接:

http://blog.csdn.net/cheng1204456236/article/details/51752887 ,特此鸣谢!

开发环境: 
windows10 
AS2.1.2

首先安装NDK, 
这里写图片描述

安装完后,新建一个空项目。 
这里写图片描述 
这里写图片描述 
点击下一步,知道新建一个新项目。

新建好的项目如下: 
这里写图片描述

检测local.properties 文件里面是否有ndk的路径,没有加上。这里写图片描述

然后看app\build.gradle 文件

加上这段代码这里写图片描述

ndk{ 
moduleName “MyLibrary” 

sourceSets.main{ 
jni.srcDirs = [] 
jniLibs.srcDir “src/main/libs” 

别加错位置了。 
在gradle.properties中添加 
Android.useDeprecatedNdk=true 
这里写图片描述

然后新建JNI文件夹。这里写图片描述

下面开始配置工具, 
这里写图片描述

这里写图片描述

配置这3个工具, 
这里写图片描述 
这里写图片描述 
这里写图片描述

配置工作结束。这里写图片描述

可以在tool下面看到自己添加的3个工具。 
下面开始添加文件。 
新建 一个class文件,并加上如下代码,这里写图片描述 
这个是定义JNI函数接口以及加载编译c/c++ 文件的库文件。

这里写图片描述

结果

新生成一个.h 头文件。把这个文件直接拖到jni下面去。 
这里写图片描述

windows下 android studio 的NDK开发环境配置(2)

在JNI文件夹下面添加 .c文件,以及make文件。 
test.c 如下

#include "test_myapplication_myndk.h"JNIEXPORT jint JNICALL Java_test_myapplication_myndk_getint  (JNIEnv * env, jobject obj){   return 100;  }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

Android.mk

LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := MyLibraryLOCAL_SRC_FILES =: test.cinclude $(BUILD_SHARED_LIBRARY)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

application.mk

APP_MODULES := MyLibraryAPP_ABI := all
  • 1
  • 2
  • 1
  • 2

这里写图片描述

这里写图片描述 
这里写图片描述

这里写图片描述 
开始build ndk

结果如下

目录下面多了libs,obj目录。 
然后就开始使用我们的接口。

在xml中添加textview的id 
这里写图片描述

在mainactivity 中添加如下代码

public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        TextView tv = (TextView) findViewById(R.id.tv);        int r = new myndk().getint();        tv.setText(Integer.toString(r));    }}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

ok。可以测试了。 
参考这篇mac下配置修改的。 
http://blog.csdn.net/cheng1204456236/article/details/51753701


阅读全文
0 0