原文:xamarin之 安裝工具介紹html
思考:java
1, 必定要按照順序安裝嗎?node
先裝JDK,再裝Android SDKandroid
緣由:Android SDK採用了Java語言c++
先裝Android SDK,再裝Android NDk數據庫
緣由:NDK只是在SDK基礎上開發的原生工具包,用於編寫和編譯一些c/c++的代碼編程
先裝Xamarin,再裝Xamarin for Visual Studio小程序
緣由:Xamarin 是一個開發移動程序的IDE,而Xamarin for Visual Studio是Xamarin針對Visual Studio提供的插件。有了這個插件,就能夠直接在Visual Studio中開發移動應用程序了windows
2, 爲何要安裝這幾個工具?瀏覽器
把上面(1)中按裝順序倒着推,你就明白了「開發xamarian程序,爲何要裝這幾個工具?」
3, Xamarin Studio 和 Xamarin for Studio 的區別和聯繫?
Xamarin Studio 是個IDE
Xamarin for Studio 是個插件
Xamarin Studio能夠直接開發移動應用程序
Visual Studio只有裝了Xamarin for Studio這個插件,才能在Visual Studio中開發移動應用程序
4, 爲何要進行環境配置?
設置Path
在cmd命令行裏要啓動一個應用程序時,系統會先在當前目錄下查找,若是沒有則在系統變量Path指定的路徑去查找
設置CLASSPATH
設置CLASSPATH 的目的,在於告訴Java執行環境,在哪些目錄下能夠找到你所要執行的Java程序所須要的類或者包。
5, Android SDK 與 Xamarin Studio經過什麼創建鏈接
若是使用Eclipse開發:
須要給Eclipse裝adt (Android Development Tools)插件,這樣Eclipse就能夠和android sdk創建鏈接,能夠在Eclipse中啓動android模擬器進行程序調試等
但Xamarin Studio 與Android SDK是如何創建鏈接,不清楚
6, JDK,Android SDK,Android NDK,Xamarin,Xamarin for VS,它們之間的架構關係?
以上5點,已經回答了這個問題
一, JDK
1, 什麼是SDK
前奏:什麼是SDK
SDK是軟件開發工具包(Software Development Kit),它爲某種程序語言提供應用程序接口API的一些文件
2, 什麼是JDK
JDK 是Java語言的軟件開發工具包(SDK)
沒有JDK的話,沒法編譯Java程序,若是隻運行Java程序,要確保已安裝相應
的JRE
JRE 對應 .NET平臺
JVM 對應 CLR
3, 組成
javac – 編譯器,將源程序轉成字節碼
jar – 打包工具,將相關的類文件打包成一個文件(相似於Windows中的DLL)
java – 運行編譯後的java程序(.class後綴的)
jdb – java調試器
appletviewer –小程序瀏覽器,一種執行HTML文件上的Java小程序的Java瀏覽器
4, 版本
版本 |
發行日期 |
JDK 1.1.4 |
1997-09-12 |
JDK 1.1.5 |
1997-12-13 |
JDK 1.1.6 |
1998-04-24 |
JDK 1.1.7 |
1998-09-28 |
JDK 1.1.8 |
1999-04-08 |
5, 下載
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
6, 環境配置
JAVA_HOME = C:\Program Files\Java\jdk1.8.0_20
PATH = %JAVA_HOME%\bin; %JAVA_HOME%\jre\binset
CLASSPATH =.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
二,Android SDK
1, 什麼是Android
Android,中文名「安卓」,是Google公司開發的一款用於手機和平板的操做系統
開發語言:C/C++(底層) Java等(應用層)
Android結構,以下圖
從架構圖看,Android分爲四個層,從高層到低層分別是:
應用程序層
應用程序框架層
系統運行庫層
Linux內核層
2, Android應用程序開發,體如今哪幾個方面(很重要)
Android開發四大組件:
活動(Activity): 用於表現功能
1個活動 對應 1個屏幕
1個屏幕 至關 1個網頁
服務(Service): 後臺運行服務,不提供界面呈現
開始 播放音樂
而後 玩QQ
發現 音樂繼續播放
其實這個播放就是由播放音樂的Service進行控制
廣播接收器(BroadcastReceiver):用於接收廣播
Broadcast是一種普遍運用在應用程序之間傳輸信息的機制。而
BroadcastReceiver 是對發送出來的Broadcast進行過濾接受並響應的一類組件
例如:
當電話呼入這個外部事件到來的時候,能夠利用BroadcastReceiver 進行處理。
當下載一個程序成功完成的時候,仍然能夠利用BroadcastReceiver 進行處理
內容提供商(Content Provider): 支持在多個應用中存儲和讀取數據,至關於數據庫
在Android 中,對數據的保護是很嚴密的,除了放在SD卡中的數據,
一個應用所持有的數據庫、文件等內容,都是不容許其餘直接訪問的。
Andorid固然不會真的把每一個應用都作成一座孤島,它爲全部應用都準備了一扇窗,
這就是Content Provider
3, Android後綴
APK是安卓應用的後綴,是AndroidPackage的縮寫,即Android安裝包(apk)
APK是相似Symbian Sis或Sisx的文件格式。經過將APK文件直接傳到Android模擬器或Android手機中執行便可安裝。
apk文件和sis同樣,把android sdk編譯的工程打包成一個安裝程序文件,格式爲apk。
APK文件實際上是zip格式,但後綴名被修改成apk,
經過UnZip解壓後,能夠看到Dex文件,
Dex是Dalvik VM executes的全稱,即Android Dalvik執行程序,並不是Java ME的字節碼而是Dalvik字節碼
4, 什麼是Android SDK
Android SDK 指Android專屬的軟件開發工具包
Android SDK提供了開發Android應用程序所需的API庫和構建、測試和調試Android應用程序所需的開發工具
5, 版本
6, 下載
https://developer.android.com/sdk/installing/index.html
7, 安裝
先裝JDK5.0以上版本,再裝Android SDK 緣由:Android SDK採用了Java語言
Android SDK不用安裝,下載後,直接解壓便可
8, Android SDK Manage
負責下載或更新不一樣版本的SDK包
使用它下載,須要先對Google進行FQ
a,,FQ:
(1)在本機host文件中,加入
203.208.46.146 dl.google.com
203.208.46.146 dl-ssl.google.com
(2)勾選下圖中的選項
b,下載相關的Android SDK包
c,建立一個AVD,運行一下
9, 後續
若是使用Eclipse開發:
須要給Eclipse裝adt (Android Development Tools)插件,這樣Eclipse就能夠和android sdk創建鏈接,能夠在Eclipse中啓動android模擬器進行程序調試等
10,Android SDK 與 Visual Studio經過什麼創建鏈接
三, Android NDK
1, 什麼是NDK
NDK 原生開發工具包(Native Development Kit)
是一種基於原生程序接口的開發工具
經過此工具開發的程序直接以本地語言運行,而非虛擬機。所以只有java等基於虛擬機運行的語言的程序纔會有原生開發工具包
原理:
基於java的軟件NDK經過JNI進行調度,因爲java語言支持調用C/C++動態連接庫,所以能夠令java 的程序執行部分C語言代碼,這爲NDK的使用提供了可能
2, 什麼是Android NDK
Android的SDK是基於Java實現,但Google的虛擬機Dalvik支持JNI編程方式
Android NDK使得Android平臺支持C/C++開發
經過這個開發包的工具才能將android jni 的C/C++的代碼編譯成so庫
而且,將so和java應用一塊兒打包成apk
3, 版本
Code name |
Version |
API level |
Lollipop |
5.1 |
API level 22 |
Lollipop |
5.0 |
API level 21 |
KitKat |
4.4 - 4.4.4 |
API level 19 |
Jelly Bean |
4.3.x |
API level 18 |
Jelly Bean |
4.2.x |
API level 17 |
Jelly Bean |
4.1.x |
API level 16 |
Ice Cream Sandwich |
4.0.3 - 4.0.4 |
API level 15, NDK 8 |
Ice Cream Sandwich |
4.0.1 - 4.0.2 |
API level 14, NDK 7 |
Honeycomb |
3.2.x |
API level 13 |
Honeycomb |
3.1 |
API level 12, NDK 6 |
Honeycomb |
3.0 |
API level 11 |
Gingerbread |
2.3.3 - 2.3.7 |
API level 10 |
Gingerbread |
2.3 - 2.3.2 |
API level 9, NDK 5 |
Froyo |
2.2.x |
API level 8, NDK 4 |
Eclair |
2.1 |
API level 7, NDK 3 |
Eclair |
2.0.1 |
API level 6 |
Eclair |
2.0 |
API level 5 |
Donut |
1.6 |
API level 4, NDK 2 |
Cupcake |
1.5 |
API level 3, NDK 1 |
(no code name) |
1.1 |
API level 2 |
(no code name) |
1.0 |
API level 1 |
4, 下載
http://developer.android.com/tools/sdk/ndk/index.html
5, 安裝
下載後,直接解壓便可
可是最後,須要在visual studio中進行配置ndk的path位置
四, GTK#
1, 什麼是GTK#
GTK# 全稱Graphical User Interface Toolkit
Gtk#是個.NET的庫, 是對流行的跨平臺圖形用戶界面庫(GUI)GTK+ 的包裝
GTK# 的運行相似於 Windows 窗體和 WPF,在 GTK# 中,窗口是基於 Gtk.Window 的,小插件(widgets,至關於控件)是基於 Gtk.Widget 類的
GTK# 是隨 Mono 項目一同發佈的,所以,想使用它的最好方法是安裝 Mono(http://www.go-mono.com/mono-downloads/download.html)
2, 下載
http://www.mono-project.com/download/#download-win
五, Xamarin Studio
1, 什麼是Xamarin Studio
Xamarin Studio 是一個開發移動應用程序的IDE
2, 版本
3, 下載
六, Xamarin for Visual Studio
1, 什麼是Xamarin for Visual Studio
Xamarin for Stududio 是Visual Studio的插件,包括Android 和IOS.
它是Xamarin針對Visual Studio提供的附掛套件
七,XamarinInstaller
XamarinInstall只是一個下載安裝器,並非軟件包
InstallationManifest.xml
這是Xamarin的安裝配置文件,裏面記錄了所需的安裝包下載地址及版本
http://xamarin.com/installer_assets/v3/Windows/Universal//InstallationManifest.xml
八,破解
下載破解包:http://pan.baidu.com/s/1bnlc2vX
密碼:43dg,裏面有破解步驟
九, 配置
1, 環境變量
爲JDK配置環境變量Path和CLASSPATH
2, Visual Studio的配置
在Visual Studio中要指定Android SDK和Android NDK的Path路徑
3, Android SDK Manager調試運行
記得在Visual Studio項目中,要何持Android的版本與上圖配置相同
4, 思考爲何要進行以上配置
十,Xamarin簡介
Xamarin是基於Mono的平臺,目前主要有如下產品(更具體請見:http://xamarin.com/products):
參考:
五步搞定Android開發環境部署——很是詳細的Android開發環境搭建教程
http://www.cnblogs.com/zoupeiyang/p/4034517.html#1
Android之NDK開發
http://www.cnblogs.com/devinzhang/archive/2012/02/29/2373729.html
介紹 GTK#
http://blog.csdn.net/hadstj/article/details/25161261
Xamarin 手動安裝步驟+破解
http://www.tuicool.com/articles/eIvIra
——