聲明: 文章參考自 csdn sodino 的博客java
Step: 1. 添加native接口注意寫好native接口和System.loadLibrary()便可了,並沒有特別之處。
Step: 2.執行Build->Make Project
生成了.class文件..class文件的生成路徑是在 app_path/build/intermediates/classes/debug下的. 這個在android studio裏面看不到, 到文件管理器裏面翻到的, 裏面還有好多東西。
android
Step: 3.javah生成c頭文件
點擊"View->Tool Windows->Terminal",即在Studio中進行終端命令行工具.執行以下命令生成c語言頭文件。架構
這 裏須要注意的是要進入 <Project>\app\src\main的目錄下執行javah命令,爲的是生成的 .h 文件一樣是在<Project>\app\src\main路徑下(jni下面),能夠在Studio的工程結構中直接看到。app
操做命令:函數
javah -d jni -classpath <SDK_android.jar>;<APP_classes> <class>
工具
javah -d jni -classpath c:\Users\Ximei\AppData\Local\Android\sdk1\platforms\android-21\android.jar;..\..\build\intermediates\classes\debug com.example.jnitest
好長一串, 好傢伙, 這通敲.
而後就看到<project>\app\src\main\jni\com_example_jnitest.h出現了.
Step: 4.編輯c文件gradle
在<project>\app\src\main\jni\jnitest.c文件中實現頭文件中的函數。
ui
Step: 5.配置NDKspa
這一步包括兩個動做:
命令行
1.指明ndk路徑
在local.properties中添加ndk目錄, ndk目錄中不可包含空格.
ndk.dir=C\:\\android-ndk-r10d
2. 修改build.gradle配置
工程中共有兩個build.gradle配置文件,咱們要修改的是在<Project>\app\build.gradle這個文件。爲其在defaultConfig分支中增長上
ndk {
moduleName "jnitest"
}
3. 添加Application.mk 和 Android.mk文件
Application.mk
APP_PROJECT_PATH := $(call my-dir)/project
APP_MODULES := nativebt
Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := jnitest
LOCAL_SRC_FILES := jnitest.c
LOCAL_DEFAULT_CPP_EXTENSION := cpp
#include $(BUILD_EXECUTABLE)
include $(BUILD_SHARED_LIBRARY)
而後進行編譯, 會出現no rule to make target....錯誤, 按照網上的經驗, 生成一個空的empty.c文件, 錯誤經過. (嘖, 2014年3月的bug, 竟然尚未fix版)
終於編譯成功, 編譯出來的庫文件在以下路徑:
<project>\app\build\intermediates\ndk\debug\lib\ 共7個目錄, 7種架構吧。至此, 開發環境創建成功。