當前位置:首頁 » 安卓系統 » androidsdk與ndk

androidsdk與ndk

發布時間: 2022-08-01 14:59:52

❶ Android Studio配置環境變數,需要配置SDK,還需要配置NDK嗎

一.安裝Android Studio的准備工作
1.下載好JDK
去官網上找一個下載下來
2.安裝JDK.並配置環境變數.安裝過程可以一直下一步,無腦操作
3.下載Android Studio的安裝包
去官網上找一個,下載下來
(jdk的環境變數一定要配置)

准備工作完成之後,就可以開始我們的安裝了
1.安裝Android studio也是無腦操作,一直點下一步。直到安裝結束
2.安裝好之後,我們要新建我們的項目。重點從這里開始

點擊 New Project會出現.我們設置好名稱,也可以無腦操作,一直點擊next,直至結束,不過這個過程需要我們耐心的等待。(時間有點漫長)。

然後我們就會進入我們的開發界面。點擊圖片中紅圈的圖標(SDK manager)會出現下圖

這個步驟是安裝Android的sdk,推薦,Android1.6~Android4.4.2全部安裝。(這個耗費時間挺長的,請在網速良好且大量閑暇時光下安裝,安裝過程中可以看部電影)

安裝完之後,就開始配置我們的avd(Android Virtual Device),也就是Android的虛擬環境。點擊,圖片中紅圈的圖標

點擊New(Test是我配置好的)

隨便設置AVD name,建議如圖設置

設置完成之後,就可以點擊下圖的三角號編譯我們的程序了。

❷ 安卓sdk和ndk都是什麼有什麼區別哪個更有前途

讓我先來說說android sdk (Android Software Development Kit, 即Android軟體開發工具包)可以說只要你使用java去開發Android這個東西就必須用到。他包含了SDK Manager 和 AVD Manage
對於android系統的一些開發版本的管理以及模擬器管理。
而ndk (Native Development Kit)跟sdk差不多的是他也是一個開發工具包。用他開發c/c++是很方便的。他有一個強大的編譯集合。
其實名詞的解釋我也不想多說。這點你只需要網路分別輸入sdk 和 ndk 網路里就有你想要的。
區別是什麼我只想說是他們基本上是應該沒什麼相同的。
至於哪個更有前途。
這個不好說。
我來說說android他為什麼會有一個ndk把。
很早以前android是只有sdk的。並沒有ndk。這就意味著一旦android的開發者要使用c/c++的三方庫或者需要用到c/c++就必須使用非官方的法子。用java的jni去調用c/c++。耍小聰明走後門一樣。而ndk的出現就意味著jni調用的這種方法轉正了變成官方了以後你不需要再走後面大路正面隨你走。
可是這樣還是沒有說到為什麼要有ndk啊。是的我只想說的就是如果你要操作底層直接操作內存。操作地址那你不得不去使用c/c++因為java這塊想做這些。那恐怕有點困難。所以ndk是必須需要出現的。
而這個sdk和ndk並不是完全不相溶的2門語言。對於android來說是同種語言的2種不同時期的必須品。
最後想說如果你做android開發想要做得更好你就必須要ndk的。
一句套話:學得好什麼都有前途、

❸ Android開發的IDE、ADT、SDK、JDK、NDK等名詞解釋

這篇文章主要介紹了Android開發的IDE、ADT、SDK、JDK、NDK等名詞解釋,對這些概念搞不清楚是一件痛苦的事,本文就簡潔講解了這些名詞的含義,一起掃盲吧,需要的朋友可以參考下
1.
IDE:
Intelligent
Development
Environm的簡稱。即智能開發環境。是一種開發工具。常用的IDE有adt-bundles和Android
studio。兩個都需要配置jdk。
2.
ADT:
Android
Development
tools的簡稱。即Android開發工具。ADT為Eclipse的插件。在Eclipse和SDK之間起了一個橋梁的作用。
3.
SDK:
Soft
Development
Kit的簡稱。軟體開發工具包。在Android中,它為開發者提供了庫文件以及其它開發所用到的工具。
4.
JDK:
Java的開發工具包。包括了Java運行環境、Java工具和Java基礎類庫。
5.
NDK:
概念:
(1).NDK是一系列工具的集合。幫助開發者快速開發C/C++的動態庫。
並能自動將so和Java應用一起打包成apk。這些工具對開發者的幫助是巨大的。
(2).NDK將是Android平台開發支持C開發的開端。
作用:
(1).代碼的保護。由於Java層代碼很容易被反編譯,而C/C++庫反編譯難度很大。
(2).可以方便的使用現存的開源庫。大部分現存的開源庫都是用C/C++代碼編寫的。
(3).提高程序的執行效率。將要求高性能的應用邏輯使用C開發,從而提高應用程序的執行效率。
(4).便於移植。用C/C++寫的庫可以方便的在其他的嵌入式平台上再次使用。

❹ 安卓的NDK和SDK是什麼

可以用NDK開發,但不會替代SDK,因為NDK開發難度非常發,NDK有個巨大的麻煩就是現在有x86晶元的android手機的,用NDK就會需要提供兩套APK,比較麻煩。Android平台的第三方應用程序均是依靠基於Java的Dalvik特製虛擬機進行開發的。原生SDK(NDK)的可以讓開發者更加直接的接觸Android系統資源,並使用傳統的C或C++語言編寫程序,並在程序封包文件(.apks)中直接嵌入原生庫文件。NDK主要用於一些具有大量邏輯計算和高性能的圖像渲染的工作,比如我們要開發款大型的3D游戲,那麼如果使用AndroidSDK通過Java來開發,速度和性能上很難滿足我們的要求,這是就可以使用NDK通過C\C++來開發原生的程序來處理這些渲染,可以極大的提高我們游戲的性能。所以我們很有必要對NDK進行學習。

❺ 在android平台上的,基於ndk比基於sdk速度提高了多少時間

android sdk 開發就是通常意義上的 android java 開發;
android ndk 開發主要是指 android c/c++ 開發;
他們在速度上的差距主要體現在兩種類型的編程語言上的區別;

① java屬於解釋性語言,c/c++屬於編譯性語言,java 比 c/c++ 慢;
② java代碼的安全機製做的很高,c/c++的安全機制低,就好比一個通道,有一個有安檢,一個沒有安檢,有了安檢必然會導致速度降低,java 比 c/c++ 慢;
③ java開發主要注重業務邏輯,c/c++開發注重效率,兩類語言的開發者的思維也影響著程序運行的速度,java 比 c/c++慢;
④ 其他;
綜上所述,java比c/c++慢,即 sdk 比 ndk慢

❻ 如何設置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 sdk開發和android ndk 開發具體指什麼

這個問題有難度,我不慎專業啊.....

❽ Android NDK開發簡介 NDK和SDK以及JNI有什麼關系

NDK:Android NDK 是在SDK前面又加上了「原生」二字,即Native Development Kit,因此又被Google稱為「NDK」。
NDK全稱:Native Development Kit。
NDK是一系列工具的集合。
* NDK提供了一系列的工具,幫助開發者快速開發C(或C++)的動態庫,並能自動將so和java應用一起打包成apk。這些工具對開發者的幫助是巨大的。
* NDK集成了交叉編譯器,並提供了相應的mk文件隔離CPU、平台、ABI等差異,開發人員只需要簡單修改mk文件(指出「哪些文件需要編譯」、「編譯特性要求」等),就可以創建出so。
* NDK可以自動地將so和Java應用一起打包,極大地減輕了開發人員的打包工作。
其實:
NDK就是能夠方便快捷開發.so文件的工具。JNI的過程比較復雜,生成.so需要大量操作,而NDK就是簡化了這個過程。

Android SDK:
SDK (software development kit)軟體開發工具包。被軟體開發工程師用於為特定的軟體包、軟體框架、硬體平台、操作系統等建立應用軟體的開發工具的集合。因此!Android SDk 指的既是Android專屬的軟體開發工具包

JNI:
Java Native Interface (JNI)標準是java平台的一部分,它允許Java代碼和其他語言寫的代碼進行交互。JNI 是本地編程介面,它使得在 Java 虛擬機 (VM) 內部運行的 Java 代碼能夠與用其它編程語言(如 C、C++ 和匯編語言)編寫的應用程序和庫進行交互操作
當然一般需要進行如下操作流程:
1) 編寫java程序:這里以HelloWorld為例。為了實現在 java代碼中調用c函數printf。
代碼1:
class HelloWorld {
public native void testHelloWorld();
static {
System.loadLibrary("hello");
}
public static void main(String[] args) {
new HelloWorld().testHelloWorld();
}
}
聲明native方法:如果你想將一個方法做為一個本地方法的話,那麼你就必須聲明改方法為native的,並且不能實現。
Load動態庫:System.loadLibrary("hello");
這里一般是以static塊進行載入的。同時需要注意的是System.loadLibrary()的參數「hello」是動態庫的名字。
2) 編譯
javac HelloWorld.java
3) 生成擴展名為h的頭文件 javah ?
JNIEXPORT void JNICALL Java_HelloWorld_testHelloWorld (JNIEnv *, jobject);

這個h文件相當於我們在java裡面的介面,這里聲明了一個 Java_HelloWorld_testHelloWorld (JNIEnv *, jobject)方法,然後在我們 的本地方法裡面實現這個方法,也就是說我們在編寫C/C++程序的時候所使用的方法名必須和這里的一致)。
4) 編寫本地方法實現和由javah命令生成的頭文件裡面聲明的方法名相同的方法

代碼2:
#include "jni.h"
#include "HelloWorld.h"
#include other headers

JNIEXPORT void JNICALL Java_HelloWorld_testHelloWorld(JNIEnv *env, jobject obj)
{
printf("Hello world!/n");
return;
}
注意代碼2中的第1行,需要將jni.h(該文件可以在%JAVA_HOME%/include文件夾下面找到)文件引入,因為在程序中的JNIEnv、 jobject等類型都是在該頭文件中定義的;另外在第2行需要將HelloWorld.h頭文件引入。然後保存為 HelloWorldImpl.c就ok了。
5) 生成動態庫
這里以在Windows中為例,需要生成dll文件。在保存HelloWorldImpl.c文件夾下面,使用VC的編譯器cl成。 cl -I%java_home%/include -I%java_home%/include/win32 -LD HelloWorldImp.c -Fehello.dll 注意:生成的dll文件名在選項-Fe後面配置,這里是hello,因為在HelloWorld.java文件中我們loadLibary的時候使用的名字是hello。
另外需要將-I%java_home%/include -I%java_home%/include/win32參數加上,因為在第四步裡面編寫本地方法的時候引入了jni.h文件。

❾ android ndk與sdk

1. SDK

Android SDK(Android Software Development Kit),即Android軟體開發工具包,Android的SDK基於Java實現,這意味著基於Android SDK進行開發的第三方應用都必須使用Java語言。但這並不等同於「第三方應用只能使用Java」,也就是說我們還可以採用C/C++語言。

2. NDK

NDK即Native Development Kit,眾所周知,Android程序運行在Dalvik虛擬機中,NDK允許用戶使用類似C / C++之類的原生代碼語言執行部分程序。

NDK是一系列工具的集合。它提供了一系列的工具,幫助開發者快速開發C(或C++)的動態庫,並能自動將so和java應用一起打包成apk(AndroidPackage的縮寫,Android安裝包)。這些工具對開發者的幫助是巨大的。它集成了交叉編譯器,並提供了相應的mk文件隔離CPU、平台、ABI等差異,開發人員只需要簡單修改mk文件(指出「哪些文件需要編譯」、「編譯特性要求」等),就可以創建出so。它可以自動地將so和Java應用一起打包,極大地減輕了開發人員的打包工作

NDK提供了一份穩定、功能有限的API頭文件聲明,Google明確聲明該API是穩定的,在後續所有版本中都穩定支持當前發布的API。從該版本的NDK中看出,這些API支持的功能非常有限,包含有:C標准庫(libc)、標准數學庫(libm)、壓縮庫(libz)、Log庫(liblog)。

為什麼使用NDK

(1) 代碼的保護。由於apk的java層代碼很容易被反編譯,而C/C++庫反匯難度較大。

(2) 可以方便地使用現存的開源庫。大部分現存的開源庫都是用C/C++代碼編寫的。

(3) 提高程序的執行效率。將要求高性能的應用邏輯使用C開發,從而提高應用程序的執行效率。

(4)便於移植。用C/C++寫得庫可以方便在其他的嵌入式平台上再次使用。

❿ 安卓用SDK 或者NDK來編,程序運行速度差多少聽說SDK快

android sdk 開發就是通常意義上的 android java 開發;
android ndk 開發主要是指 android c/c++ 開發;
他們在速度上的差距主要體現在兩種類型的編程語言上的區別;

① java屬於解釋性語言,c/c++屬於編譯性語言,java 比 c/c++ 慢;
② java代碼的安全機製做的很高,c/c++的安全機制低,就好比一個通道,有一個有安檢,一個沒有安檢,有了安檢必然會導致速度降低,java 比 c/c++ 慢;
③ java開發主要注重業務邏輯,c/c++開發注重效率,兩類語言的開發者的思維也影響著程序運行的速度,java 比 c/c++慢;
④ 其他;
綜上所述,java比c/c++慢,即 sdk 比 ndk慢,更多的可以參考:
http://tieba..com/p/3222232840
我是ndk吧的吧主,有問題可以來ndk吧反應,也希望大家多關注ndk,ndk吧鏈接:
http://tieba..com/f?kw=ndk
謝謝!

熱點內容
建立雲存儲 發布:2024-05-03 21:04:03 瀏覽:74
socket編程php 發布:2024-05-03 20:12:50 瀏覽:207
坦洲郵政局可以解壓嗎 發布:2024-05-03 20:09:55 瀏覽:732
二級程序編譯答案 發布:2024-05-03 18:41:35 瀏覽:654
領動自動精英版是哪個配置 發布:2024-05-03 18:37:30 瀏覽:151
java編譯器中cd什麼意思 發布:2024-05-03 18:36:00 瀏覽:390
傳奇伺服器如何刷錢 發布:2024-05-03 18:36:00 瀏覽:978
安卓版twitter怎麼注冊 發布:2024-05-03 18:28:05 瀏覽:894
Python邏輯優先順序 發布:2024-05-03 18:26:14 瀏覽:268
linux查看svn密碼 發布:2024-05-03 18:12:47 瀏覽:805