mac android studio ndk 环境搭建
1、安装完毕 mac 版 jdk 1.8
2、安装完毕 mac版 andriod studio 2.1.3
2、安装最新版的android sdk platforms,如我的是 7.0;

3、更新最新的android tools
1、Android SDK Tools 25.2.2
2、LLDB 2.2
3、NDK

1、新建一个 android studio 工程





2、在 MainActivity 类中增加 native 方法 getHelloJni

3、添加 jni 目录


4、添加 javah 扩展工具

5、通过javah扩展工具生成 MainActivity 类对应的 c 语言头文件

6、添加 生成的头文件对应的 c++ 源文件,并在源文件中实现 native 函数,如下图所示:
env->NewStringUTF("HelloJni");

7、修改 gradle.properties 增加:
android.useDeprecatedNdk=true

8、修改 build.gradle 增加 模块名
ndk { moduleName "HelloJni"}

9、点击 Make Project 按钮,就可以看到生成的不同类型的abi的 libHelloJni.so 库文件

10、java 加载 so 库,在 MainActivity 类中增加
static { System.loadLibrary("HelloJni");}
实现java层对于so库的引用

11、修改 TextView 控件id 的名称 tvHelloJni
增加测试代码:
package com.example.fuke_mac.hellojni;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.widget.TextView;public class MainActivity extends AppCompatActivity { private TextView mTextView; static { System.loadLibrary("HelloJni"); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mTextView = (TextView) this.findViewById(R.id.tvHelloJni); mTextView.setText(getHelloJni()); } public native String getHelloJni();}
运行后的效果如下


1、修改 build.gradle 文件,增加
debug {
jniDebuggable true
}
2、点击 “工具栏” -> Run -> Debug->"app-native"

2、在弹出的 "ADB Integration Disabled"界面选择“Yes”

3、选择设备

4、调试效果
