AndroidStudio舊版NDK使用


1、下載NDK配置環境變量
  添加 NDK_HOME D:\android-ndk-r11b(根據實際路徑)
  Path中添加 %NDK_HOME%/;

  cmd執行ndk-build查看是否成功

2、SDK Location中配置NDK

3、生成頭文件
  新建類定義native方法

public class Hello {
    public native String helloC();
}

 

  AndroidStudio命令行切換到debug目錄執行
  javah -jni cn.fbtrip.ndkdemo.Hello

4、創建c文件
  拷貝上步生成的頭文件
  main文件下創建jni,新建c/c++源文件
  拷貝mk文件,進行配置

5、mk文件修改

  LOCAL_PATH := $(call my-dir)
  include $(CLEAR_VARS)

  LOCAL_MODULE := hello
  LOCAL_SRC_FILES := cn_fbtrip_ndkdemo_Hello.c

  include $(BUILD_SHARED_LIBRARY)


  我們只需要修改LOCAL_MODULE和LOCAL_SRC_FILES兩個參數即可。
  LOCAL_MODULE參數是指定編譯后的目標文件的名稱,其實編譯好的目標文件名為libhello.so,
  LOCAL_SRC_FILES指定了要編譯的源文件。

  APP_ABI := all

6、生成so文件


  切換到main路徑下執行ndk-build
  修改jni庫目錄
  將app->src->main->libs改成
  app->src->main->jniLibs

7、舊版需要配置支持ndk
  根目錄gradle.properties
  在文件的最末行添加:
  android.useDeprecateNdk=true

8、so庫的調用

	public class MainActivity extends AppCompatActivity {
	
	    static {
	        System.loadLibrary("hello");
	    }
	
	    @Override
	    protected void onCreate(Bundle savedInstanceState) {
	        super.onCreate(savedInstanceState);
	        setContentView(R.layout.activity_main);
	
	        Hello h = new Hello();
	        System.out.println("------>"+h.helloC());
	
	    }
	
	}

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM