當前位置:首頁 » 數據倉庫 » 如何配置ndk
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

如何配置ndk

發布時間: 2022-02-16 16:26:15

① android studio ndk-build怎麼配置環境

第一步:下載Android NDK。
第二步:為project設置ndk路徑,在local.properties中,添加ndk.dir=<path-to-ndk>。
第三步:修改build.gradle文件。
第四步:創建jni文件。
第五步:創建測試類文件。
第六步:創建.h文件。創建.cpp文件。
第七步:進行測試

② andorid studio 怎麼添加ndk配置

1、新建一個Android工程,這一步就不多說了;
2、在AndroidStudio中配置NDK路徑,方法是:
(1)先下載NDK並安裝(這句基本是廢話);
(2)點菜單欄的File->ProjectStructure…->在打開的窗口中左側選中SDKLocation->在右側Android NDK Location中填入NDK目錄所在路徑
3、編譯生成.class文件,方法是:
點菜單欄的Build->Make Project
這時,在工程的app/build/intermediates下就會生成classes文件夾,打開classes目錄下的debug目錄就會看到以你的包名命名的各級文件夾,最里邊文件夾下有你的Java類對應的.class文件;
4、確定你要引用本地方法的類:
其實你也可以先生成jni目錄,再去創建這個類,但是先Google顯然建議先創建要引用C代碼的Java類,因為AndroidStudio可以根據你在java類中定義的native方法的名稱來自動生成.h頭文件。
比如你想在MainActivity中引用本地方法,那麼你先用
static {
System.loadLibrary("myNativeLib");
}
來聲明本地代碼庫,然後定義幾個natvie方法,比如
public native String getStringFromNative();
5、使用javah命令行生成jni目錄及對應的頭文件:
我用的是AndroidStudio 2.1.1,在主界面最下邊就能找到Terminal,點一下就能打開系統的命令行工具,並且已經為你自動cd到當前工程所在目錄
6、配置build.gradle文件
這里的build.gradle是指app模塊下的build.gradle,不是整個工程的build.gradle文件。在模塊的build.gradle的defaultConfig下加入以下idk配置:

ndk {
moleName"myNativeLib"
ldLibs "log", "z", "m"
abiFilters "armeabi", "armeabi-v7a", "x86"
}
7、配置local.properties文件
打開工程目錄下的local.properties,感覺這一步是自動配置的,或者說在你一開始在AndroidStudio中指定NDK目錄時已經自動生成了。我的AndroidStudio在打開local.properties已經有了
ndk.dir=/Develop/Android/android-ndk-r10e
這一行,所以就不用配了;
8、配置gradle.properties
打開工程目錄下的gradle.properties文件(注意不是build.gradle,而是gradle.properties),在文件的最後一行加入
android.useDeprecatedNdk=true
這句的作用是允許我們使用已經過時的NDK版本,不知道AndroidStudio要求使用哪個版本的NDK才不會報錯,總之只要配置了這一句就可以使用比較舊的NDK版本了,我用的r10;
至此我們在AndroidStudio中就完成了NDK環境的配置,接下來就可以寫Native代碼了;
9、寫一個.c文件測試一下是否運行正常
(1)在我們之前生成src/main/jni目錄下新建一個.c文件,方法是在jni文件夾上點滑鼠右鍵,選擇New->C/C++ Source File,然後在彈出的對話框中填入.c或.cpp文件的文件名就可以了,比如說mail.c

如何配置ndk andriod studio

准備工作
Android Studio 環境搭建

在我的上一篇文章 [Android] 環境配置之正式版Android Studio 1.0 中有介紹了。
NDK 環境搭建

下載:http://developer.android.com/tools/sdk/ndk/index.htmlWindows32:android-ndk-r10d-windows-x86.exeWindows64:android-ndk-r10d-windows-x86_64.exeMac OS X 32-bit:android-ndk-r10d-darwin-x86.binMac OS X 64-bit:android-ndk-r10d-darwin-x86_64.binLinux 32-bit (x86):android-ndk-r10d-linux-x86.binLinux 64-bit (x86):android-ndk-r10d-linux-x86_64.bin

都是可執行文件,下載後點擊即可解壓到當前文件夾;當然你可以使用命令行來進行跨文件夾解壓的。
建立一個項目 NDKDemo:

建立對應的類,在 MathKit 中我們實現計算 INT 值的平方數。
public class MathKit { public static native int square(int num); static { System.loadLibrary(JniDemo); }}
StringKit 這個就是充數用的:

public class StringKit { public static native void setNull(String str); static { System.loadLibrary(JniDemo); }}

准備 .h 文件

進入Java目錄;CMD 進入該目錄進行 javah 操作:

這個想必大家並不陌生吧,該文件就是 java 類對應的 頭文件,當然如果你比較厲害的話可以不用這樣生成,自己敲代碼完成也行;反正我是不行。
如下,建立文件夾:

拷貝之前的文件進去:

分別實現:
net_qiujuer_ndkdemo_jni_MathKit.cpp
#include<net_qiujuer_ndkdemo_jni_mathkit.h>JNIEXPORT jint JNICALL Java_net_qiujuer_ndkdemo_jni_MathKit_square (JNIEnv *env, jclass cls, jint num) { return num*num; }</net_qiujuer_ndkdemo_jni_mathkit.h>
net_qiujuer_ndkdemo_jni_StringKit.cpp

#include<net_qiujuer_ndkdemo_jni_stringkit.h>JNIEXPORT void JNICALL Java_net_qiujuer_ndkdemo_jni_StringKit_setNull (JNIEnv *env, jclass obj, jstring str) { }</net_qiujuer_ndkdemo_jni_stringkit.h>

設置項目

設置根目錄中的:local.properties

該設置不是必須,如果你設置了環境變數則可不用設置;如果沒有但是又沒有設置將會出現:

設置 APP 項目 build.gradle

該設置是為了設置生成的Jni名稱為:JniDemo。
主文件調用:

現在點擊運行:

可以看見是非常簡單的;這個調用可以說是我操作過最簡單的了;甚至於生成 .H 文件都可以編輯 .sh 文件來進行批處理(這個後面有時間再說).
更多

在平時的那些操作中我們不可避免的要建立:
Android.mk
LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := geniusLOCAL_SRC_FILES := net_qiujuer_imageblurring_jni_ImageBlur.cppLOCAL_LDLIBS := -lm -llog -ljnigraphicsinclude $(BUILD_SHARED_LIBRARY)
Application.mk

APP_ABI := allAPP_PLATFORM.:= android-19APP_OPTIM := release
而這里這兩個文件都沒有建立,那麼是怎麼決定的呢?

我們可以在 ndk 的 modelName 上按住 Ctrl 進行點擊將會出現這個界面:

這些就是全部能夠設置的參數。分別對應:
ndk{ moleName JniDemo // 設置生成的文件名 cFlags -DANDROID_NDK -D_RELEASE //這個對應的是生成模式 ldLibs m, log, jnigraphics //這個對應 LOCAL_LDLIBS 但是需要去掉前面的 「l」 abiFilters all //這個是對應的 APP_ABI stl stlport_shared //這個對應的是 APP_STL }

好了,就這些祝大家成功。項目打包上傳

④ android如何配置ndk

NDK全稱:Native Development Kit。
1、NDK是一系列工具的集合。
* NDK提供了一系列的工具,幫助開發者快速開發C(或C++)的動態庫,並能自動將so和java應用一起打包成apk。這些工具對開發者的幫助是巨大的。
* NDK集成了交叉編譯器,並提供了相應的mk文件隔離CPU、平台、ABI等差異,開發人員只需要簡單修改mk文件(指出「哪些文件需要編譯」、「編譯特性要求」等),就可以創建出so。
* NDK可以自動地將so和Java應用一起打包,極大地減輕了開發人員的打包工作。
2、NDK提供了一份穩定、功能有限的API頭文件聲明。
Google明確聲明該API是穩定的,在後續所有版本中都穩定支持當前發布的API。從該版本的NDK中看出,這些API支持的功能非常有限,包含有:C標准庫(libc)、標准數學庫(libm)、壓縮庫(libz)、Log庫(liblog)。

⑤ android ndk怎麼配置

、下載NDK工具(也在這個網站):http://www.androiddevtools.cn/,我使用的是最新的android-ndk-r10e-windows-x86.exe,下載完後點擊解壓縮。

4、Eclipse -> Window -> Preferences -> Android -> NDK,設置NDK為剛剛解壓縮的工具包路徑。
注意:做到這里時,控制台報出了一個錯誤:「Unable to launch cygpath. Is Cygwin on the path」,因為ndk r7之前編譯採用的是Cygwin模擬出linux 環境,使用ndk-build命令,而ndk r7之後集成了編譯環境,能夠在windows環境下就可以編譯了,使用的命令試是ndk-build.cmd。解決如文章後面的(問題四)所寫的方法:

5、NDK環境基本上已經搭建好,新建一個普通Android項目測試NDK支持。項目右鍵->Android Tools->Add Native Support...,輸入.so庫名字(如 hello )後點擊Finish ;(注意:若項目已經是一個Jni項目,例如NDK example裡面的HelloJni,這一步中.so庫名字不用填)

⑥ android studio怎麼配置ndk

① windwos上的android ndk環境搭建(附視頻,同時包括xp,vasta,win7,win8,win8.1,win10等主流的windows版本);
② linux下的android ndk環境搭建(附視頻,同時包括 mac系統,ubuntu系統,debian,紅帽,麒麟等 unix和linux的主流操作系統);

⑦ ndk-bundle怎麼配置環境變數

一.插件的安裝
如果你下載的是Eclipse Standard,請下載對應版本的cdt(我直接使用的是Eclipse IDE for C/C++ Developers 不要安裝cdt的哦,我人比較懶,(*^__^*) 嘻嘻……)

比如 CDT 8.1.2 for Eclipse Juno cdt-master-8.1.2.zip,插入也比較簡單和adt安裝方式一樣。再次不在贅述。以前NDK的版本還要Sequoyah插件(好久不更新了)來進行本地開發,現在不需要了。
二.環境的配置
1).首先進行配置NDK的配置,打開Eclipse的 Window->preferences->Android->NDK 然後選擇路徑你的NDK路徑我的目錄如下D:\android-sdk\android-ndk-r9 這個目錄下有docs,sources,tests,samples e等等。 然後點擊Apply,OK即可

2).首先導入hello—jni工程,然後點擊右鍵->Properties你看見如下圖所示的界面,這不是一個可以編譯的NDK工程。你需要運行Cygwin或者在Eclipse配置。
我們首先使用Cygwin來生成程序的.so文件。打開Cygwin運行命令cd $ndk 這個ndk是之前你配置Cygwin環境變數設置的字元。然後cd samples/hello-jni
然後$ndk/ndk-build,你就可以看見生成.so文件成功的頁面,這時候刷新或者clean工程 點擊run as運行android程序。如下圖:

三.Eclipse 工程配置在Eclipse中開發c/c++
第二步運行完之後,你會發現你把Hello from JNI修改為AAA(隨便寫的) 這個字元串不好使,輸出之後還是Hello from JNI 。你需要再次運行Cygwin才可以。當然這樣比較麻煩,你可以在Eclipse中配置一下,就不要在運行Cygwin了。直接運行eclipse就可以了。
1)在HelloJni上右鍵->New->other(這一步一定是other)->c/c++>Convert to a C/C++ Project(Adds c/c++ Nature)->Next
然後選擇你的工程HelloJni,選擇轉化為c工程,選擇Makefile Project Cygwin GCC,點擊Finish,再次點擊Finish即可

2)你發現你的工程.c文件有很多錯誤。這個時候點擊工程右鍵->Propreties這個時候你會發現和第二步的2)圖多了二項 c/c++ Build 和c/c++ General.
點擊 c/c++ Build
Use defult build commond的勾去掉 在Build command 填入bash <NDK路徑>\ndk-build 例如bash D:\android-sdk\android-ndk-r9\ndk-build點擊Apply OK即可。
點擊c/c++ General
打開列表點擊Paths and Symbols 在Includes 你看見Assembly GNU C (如果你在1)步選擇的C++project還會有GNU C++) .這個時候要選擇你所要的依賴庫,由於hello-jni不需要過多的庫文件所以
只需要點擊Add D:\android-sdk\android-ndk-r9\platforms\android-9\arch-arm\usr\include 這樣你就可以直接修改在Run as了。Ok成功運行。

⑧ 如何設置android sdk ndk

android sdk 更新到 r23 時,eclipse 自帶 adt版,裡面並沒有設置ndk的路徑,從而導致了在ndk配置方面的難度。本文主要適合:
① 使用 android sdk r23 20140702 的朋友
② 使用 android ndk r10d 的朋友
③ 想知道andorid adt自帶eclipse無法設置ndk路徑的解決方法
④ 不知道如何使用代理ip的朋友
⑤ 不知道如何下載 android sdk, android ndk的朋友
http://jingyan..com/article/3ea51489e7a9bd52e61bbac7.html

⑨ android studio怎樣配置ndk環境

項目右鍵-Project Structure-SDK Location-Android NDK location

⑩ android studio怎麼配置ndk路徑

AndroidStudio沒有像Eclipse那樣的一鍵add native support,相對來說比較麻煩,下面就介紹在AndroidStudio中如何實現類似於Eclipse的add native support功能(也就是進行NDK開發的步驟)。
http://blog.csdn.net/aplixy/article/details/51429305