不使用idea怎麼打開安卓項目
『壹』 android studio怎麼運行安卓工程
在windows7操作系統下,在android studio按照如下步驟運行安卓工程,(必須開啟一起模擬器或者使用真機)
1、創建一個沒有錯誤的android項目,如下圖:
『貳』 Android Studio怎麼用
1.項目設置
在開始暢游Android Studio的世界之前,大家首先需要點擊此處下載並進行安裝。請注意,各位必須事先安裝好JDK 6或者更高版本。如果是在Windows系統環境下,先啟動.exe文件、而後按照安裝向導的指示一步步完成。如果大家使用的是OS X系統,則首先雙擊啟動磁碟鏡像,然後將Android Studio拖拽到自己的應用程序文件夾當中。
在成功完成了以上各項步驟後,那麼大家的開發環境應該已經得到了正確設置。接下來,我們可以准備好利用Android Studio創建自己的第一款Android應用程序了。當大家第一次啟動Android Studio時,應該會看到該軟體的歡迎屏幕,其中還提供一些選項、指導我們以此為起點邁出Android應用開發的第一步。
在今天的教程中,我們將選擇「New Project(新項目)」選項。不過如果大家希望把Eclipse等其它環境中的現有項目轉化為Android Studio項目,也可以選擇「Import Project(導入項目)」。Android Studio能夠將Eclipse項目轉換為Android Studio項目,並在項目中為用戶提供必要的配置文件。
如果大家在選項列表中點擊了「Open Project(打開項目)」,則可以開啟已經利用Android Studio或者IntelliJ IDEA創建出的項目。而選擇「Check out from Version Control(版本控制檢查)」的話,大家能夠對處於版本控制之下的項目副本進行檢查。通過這種方式,我們可以將現有項目作為基礎、快速構建起新的針對性版本。
由於我們需要從零開始,因此這里選擇「新項目」。這時大家會看到一份選項列表,旨在對我們的新項目作出配置。在今天的教程中,我們將創建一款簡單的應用程序,主要目的是為大家演示Android Studio中最為重要的一部分功能特性。相信大家也和我一樣,會認為「HelloWorld」這個名稱最適合本次開發出的新項目。
正如大家在上面這幅截圖中所看到,我把自己的應用程序命名為HelloWorld,並為其設定了模塊名稱。如果大家對IntelliJ IDEA不太熟悉,可能不知道模塊這東西到底是什麼。模塊實際上就是一個可以進行編譯、運行、測試以及調試的獨立功能單元。模塊當中包含有源代碼、編譯腳本以及用於特定任務的其它組成部分。
在創建新項目時,大家還可以為該項目設定軟體包名稱。在默認情況下,Android Studio會將項目包名稱的最後一項元素設置為模塊名稱,但只要願意、大家可以隨意對其作出變更。
其它設定內容還包括項目在設備上的保存位置、最低與推薦SDK、項目編譯需要使用的SDK以及項目主題等等。大家也可以要求Android Studio創建一個Activity類、為其自定義一個啟動圖標,或者設定該項目是否支持GridLayout、Fragments、Navigation Drawer或者Action Bar等。
這里我們不會為自己的應用程序創建自定義圖標,因此大家可以取消「Create custom launch icon(創建自定義啟動圖標)」項目前的勾選框。點擊「Next(下一步)」繼續進行其它項目設置步驟。
由於我們在之前的步驟中勾選了「Create activity(創建activity)」項目的勾選框,因此這里導航會要求大家對Android Studio將為我們創建的Activity類進行配置。
由於我們將從空白Activity類開始進行配置,因此大家可以點擊「Next」執行設置流程的下面幾個步驟。這里大家需要對該Activity類、主布局以及片段布局進行命名。大家也可以設置導航類型,在今天的示例項目中我們將其設置為「None」。下面這幅截圖顯示的是我們的設置方案看起來是什麼樣子。
在點擊「Finish」之後,大家會看到如下圖所示的Android Studio用戶界面。其中窗口左側為項目資源管理器,右側則為工作區。在Android Studio中對項目進行設置之後,現在我們可以逐一查看Android Studio當中的各項關鍵功能。
2. Android虛擬設備
所謂Android虛擬設備——或者簡稱AVD——是一套模擬器配置方案,它允許大家設定出與實際情況相符的Android設備型號。這就讓開發者在多種多樣的設備平台上運行並測試應用程序變得更為輕松。在Android虛擬設備功能的支持下,大家可以為Android模擬器指定需要模擬的硬體與軟體組合。
創建Android虛擬設備的首選方式是通過AVD Manager。大家可以在Android Studio用戶界面的Tools菜單中依次選擇Android〉AVD Manager。
如果大家之前對開發環境的設置工作正確無誤,那麼Android虛擬設備管理器的界面應該如下圖所示。
要創建新的AVD,我們需要點擊右側的「New…」、為AVD設定名稱並如下圖所示對虛擬設備進行配置。最後點擊「OK」以創建自己的第一套AVD。
要使用我們剛剛創建好的AVD,首先需要在AVD管理器的列表中將其選中,然後點擊窗口右側的「Start…」。如果大家的AVD設置過程正確無誤,那麼Android模擬器在啟動後應該如下圖所示。
既然Android模擬器已經成功啟動並開始運行,現在是時候啟動我們的應用程序了。在「Run」菜單中選擇「Run 『helloworld』」——沒錯,在Android模擬器中運行應用程序就是這么簡單。
3.實時布局(Live Layout)
Android Studio中的實時布局功能允許大家在無需將應用程序運行在設備或者模擬器中的前提下,直接預覽應用的用戶界面。實時布局是一款極為強大的工具,能夠幫助開發者節約大量時間。在實時布局的幫助下,查看應用程序用戶界面的任務變得輕松而且快捷。
要使用實時布局,我們需要雙擊對應XML布局文件並選擇工作區下方的「Text」標簽。接下來選擇工作區右側的「Preview」標簽來預覽當前布局。我們對XML布局作出的任何變更都會直接反映在右側的預覽窗口當中。大家可以查看下面這幅截圖來深入理解這項功能。
實時布局功能為我們帶來了諸多值得稱道的顯著優勢。舉例來說,大家可以在Preview面板的第一項菜單中選擇選項,從而對當前正在使用的XML布局隨意作出調整。譬如說,大家可以分別創建不同的縱向與橫向顯示視圖,Android Studio會承擔起創建必要文件夾及文件的任務。
Preview面板中的第二項菜單允許大家變更顯示在Preview面板內的設備大小。第三項菜單的作用則是調整設備在Preview面板中的朝向,這樣我們就能更輕松地查看同一套布局方案在不同顯示模式(縱向與橫向)下的效果與主題。
Preview面板中的第四項菜單允許我們輕松訪問Activity或者布局所使用的個別片段。Preview面板還允許大家變更在實時布局中使用的語言,從而輕松預覽不同語言在布局方案中的顯示效果。最右邊的菜單的作用則是調整API版本。
Preview面板中還包含多項控制機制,例如對布局進行縮放、重新Preview面板或者截取當前屏幕。
4.模板
Android Studio還為開發人員提供多種模板選項,從而大大提升開發速度。這些模板能自動創建Activity以及必要的XML文件。大家還可以利用這些模板創建出較為基礎的Android應用程序,並將其運行在實體設備或者模擬器當中。
在Android Studio當中,我們可以在創建新的Activity時一同創建出對應模板。右鍵點擊窗口左側項目瀏覽器中的「package name」並在菜單中選擇「New」,而後從選項列表中點選「Activity」。Android Studio隨後會為開發者列出模板清單,其中包括Blank Activity、Fullscreen Activity以及Tabbed Activity。
大家還可以從菜單中選擇「Image Asset」,接下來的向導會指引我們一步步完成創建流程。下面讓我們一起來看看如何以Login Activity模板為基礎創建一套新的Activity。首先在Acivity模板列表中選擇Login Activity選項以啟動創建向導。
如大家在上面的截圖中所見,我已經將新建的Activity命名為LoginActivity——也就是為activity login設定Layout Name——並為該Activity添加了一個名為Sign In的標題。在默認情況下,對話框中的Include Google+ sign in項目已經被勾選。由於我們不打算在今天的示例中使用Google+登錄功能,因此取消該勾選項。
大家可以選擇為這套新的Activity設定Hierarchical Parent(分層結構)。這樣當我們點擊設備上的後退按鈕時,應用就將通過導航返回至上一界面。我們將這一欄位留空。在點擊「Finish」之後,Android Studio會為我們創建出必要的文件及文件夾。如果一切進展順利,我們將在項目當中看到新的Activity與Layout。
下一布工作是在manifest文件中對新Activity進行設置,這樣它就能在應用程序啟動時作為主Activity加以使用了。請大家一起來看下面的manifest文件內容,其中LoginActivity類擁有自己的活動節點。
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.tuts.HelloWorld.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.tuts.HelloWorld.LoginActivity"
android:label="@string/title_activity_login"
android:windowSoftInputMode="adjustResize|stateVisible" >
</activity>
</application>
為了在應用程序當中啟動我們剛剛創建的LoginActivity,首先需要移除原有LoginActivity類的活動節點,然後利用com.tuts.HelloWorld.LoginActivity代替先前的com.tuts.HelloWorld.MainActivity。這樣一來,應用程序現在就將使用LoginActivity類作為其主Activity。
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="za.co.helloworld.LoginActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
當我們在模擬器當中創建並運行自己的應用程序時,首先應該會看到如下圖所示的顯示內容。這意味著我們已經成功利用剛剛創建的LoginActivity類取代了原有的空白Activity類。
5.Lint工具
對代碼進行測試是一回事,但同樣重要的是、我們還需要在編寫代碼的同時引入各種最佳實踐。這不僅能夠顯著改進性能表現,也能增加應用程序的整體穩定性。另外,經過合理結構調整的項目在維護方面也更為輕松。
Android Studio中提供的Android Lint是一款靜態分析工具,它負責對項目源代碼加以分析。它能夠檢測出應用程序中的潛在漏洞以及其它可能被編譯器所忽略的其它代碼問題。
就以下面這幅截圖為例,大家可以看到該布局中的LinearLayout並未得到實際使用。Android Lint的優勢在於,它能幫助我們重視警告或報錯信息的出現原因,從而更輕松地修復或者解決這些問題。
請大家養成重復使用Android Studio Lint工具的好習慣,這能幫助我們准確檢測到項目當中存在的潛在問題。Lint工具甚至能告訴我們應用程序中是否存在重復的圖片或者編譯內容。
要運行Lint工具,大家首先需要在Android Studio的「Analyze」菜單中選擇「Inspect Code…」。當Android Studio完成了對項目的檢測之後,它會在窗口底部顯示出分析結果。請注意,除了Android Lint之外,Android Studio還提供一系列其它檢查功能。只需雙擊某個已經發現的問題,系統就會幫助大家定位到對應文件中存在問題的位置。
6.富布局編輯器
Android Studio提供一套富布局編輯器,大家可以在其中隨意拖拽各類用戶界面組件。大家還可以在多屏幕配置中同時查看多種布局的顯示效果,這一點我們在前文中已經提到過。
這款富布局編輯器在使用方面非常直觀簡單。我們首先需要一套要處理的布局方案。瀏覽到項目中res文件夾下的layout文件夾,右鍵點擊layout文件夾,然後在彈出的菜單中選擇New>Layout resource file。
下面為新布局設定一個名稱與root元素,而後點擊「OK」。Android Studio會自動在窗口右側的編輯器當中打開該布局。
在編輯器的底部,大家會看到兩個標簽,分別是Design與Text。點擊Text標簽後編輯器將被激活,這樣我們就能對當前選定的布局方案作出變更。
點擊Design標簽則會激活另一套編輯器內容,其中顯示出布局的預覽效果。要向布局當中添加其它功能性組件,我們只需將其從布局左側的組件列表中拖出並放入布局內即可。是的,就這么簡單。
『叄』 怎麼導入別人的android項目
方法如下:
1.去到要導入項目的目錄下把 .idea .gradle與build 三個文件夾,*.iml,local.properties刪除(*表示所有),經本人驗證紅框中的gradle文件夾不能刪除。
2.進入app文件夾同理把build,*.iml刪除。
3.打開已經run成功的項目的build.graid把classpath:這整句復制,去要導入的項目中打開build.graid進行替換。classpath 此處有一些項目用的雙引號,而有一些是用的單引號,不要更改將要導入的項目的原有符號規則。
4.打開gradlewrappergradle-wrapper.properties復制最後一句,去到要導入的項目進行替換。
5.改version 注意有一些項目的buildToolsVersion མ.0.3' 是用的雙引號,而有一些是用的單引號,不要更改將要導入的項目的原有符號規則,然後保存即可,前面的工作已經做好了,接下來就是去導入了。
6.導入項目
選擇自己要導入的項目,這個時候一定點擊「Cancel」,因為這個就是在提示你你的gradle現在unable,取消以後就會讓你重新選擇你的gradle的路徑,現在選擇你的gradle所在文件目錄即可。
第五步:解決感嘆號
看到下面會出現一個提示說:Could not 這個時候我們只需要點擊右邊紅框紅的add就可以了。點擊Do Refactor,稍等一會,又出現了一個感嘆號。
最後一步:「Do Refactor」導入完成,不再有錯誤。
8.若出現解決Configuration 『compile』 is obsolete and has been replaced with implementation
改成implementation
1.把compile 改成implementation
2.把androidTestCompile改成androidTestImplementation
3.把testCompile改成testImplementation
如果還有警告,看下運行按鈕,可以運行了。
『肆』 如何搭建 android 開發環境
一.認識android的架構
Android其本質就是在標準的linux系統上增加了java虛擬機Dalvik,並在Dalvik虛擬機上搭建了一個JAVA的application framework,所有的應用程序都是基於JAVA的application framework之上。
android分為四個層,從高層到低層分別是應用程序層、應用程序框架層、系統運行庫層和linux核心層。
二.搭建環境
搭建開發環境
對國內的開發者來說最痛苦的是無法去訪問android開發網站。為了更好的認識世界,對程序員來說,會翻牆也是的一門技術,帶你去領略牆外的世界,好了,不廢話了, 國內開發者訪問(androiddevtools) 上面已經有了所有你要的資源,同時可以下載到我們的主角framework
但是這樣的搭建只能去閱讀源代碼,我們無法去更進一步去實現自己的rom,我們看到錘子的系統在早期的開放rom是自己從新實現了framework的代碼,現在看起來他成功了,所以我們還要去搭建android系統的源碼編譯環境。
搭建源碼編譯環境
三.開始主題
在一開始寫c程序的時候都有一個運行的入口,比如
#include <iostream>
#include <cmath>
#include <algorithm>
using namespace std;
//這里的main就是應用的入口
int main(int argc, const char * argv[]){
return 0;
}
在計算機網路原理中我們用socket實現一個伺服器端,不斷的接聽客戶端的訪問,而且他的代碼是這樣實現的:
#include <winsock2.h>
#pragma comment(lib, "WS2_32.lib")
#include <stdio.h>
void main()
{
WORD wVersionRequested;//版本號
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD(2, 2);//2.2版本的套接字
//載入套接字型檔,如果失敗返回
err = WSAStartup(wVersionRequested, &wsaData);
if (err != 0)
{
return;
}
//判斷高低位元組是不是2,如果不是2.2的版本則退出
if (LOBYTE(wsaData.wVersion) != 2 ||
HIBYTE(wsaData.wVersion) != 2)
{
return;
}
//創建流式套接字,基於TCP(SOCK_STREAM)
SOCKET socSrv = socket(AF_INET, SOCK_STREAM, 0);
//Socket地址結構體的創建
SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr = htonl(INADDR_ANY);//轉換Unsigned long型為網路位元組序格
addrSrv.sin_family = AF_INET;//指定地址簇
addrSrv.sin_port = htons(6000);
//指定埠號,除sin_family參數外,其它參數都是網路位元組序,因此需要轉換
//將套接字綁定到一個埠號和本地地址上
bind(socSrv, (SOCKADDR*)&addrSrv, sizeof(SOCKADDR));//必須用sizeof,strlen不行
listen(socSrv, 5);
SOCKADDR_IN addrClient;//字義用來接收客戶端Socket的結構體
int len = sizeof(SOCKADDR);//初始化參數,這個參數必須進行初始化,sizeof
//循環等待接受客戶端發送請求
while (1)
{
//等待客戶請求到來;當請求到來後,接受連接請求,
//返回一個新的對應於此次連接的套接字(accept)。
//此時程序在此發生阻塞
SOCKET sockConn = accept(socSrv, (SOCKADDR*)&addrClient, &len);
char sendBuf[100];
sprintf(sendBuf, "Welcome %s to JoyChou",
inet_ntoa(addrClient.sin_addr));//格式化輸出
//用返回的套接字和客戶端進行通信
send(sockConn, sendBuf, strlen(sendBuf)+1, 0);//多發送一個位元組
//接收數據
char recvBuf[100];
recv(sockConn, recvBuf, 100, 0);
printf("%s\\n", recvBuf);
closesocket(sockConn);
}
}
他採用了一個while死循環去監聽客戶端的請求。
先上源代碼
public final class ActivityThread {
public static void main(String[] args) {
SamplingProfilerIntegration.start();
CloseGuard.setEnabled(false);
Environment.initForCurrentUser();
EventLogger.setReporter(new EventLoggingReporter());
Security.addProvider(new AndroidKeyStoreProvider());
final File configDir = Environment.getUserConfigDirectory(UserHandle.myUserId());
TrustedCertificateStore.setDefaultUserDirectory(configDir);
Process.setArgV0("<pre-initialized>");
Looper.prepareMainLooper();
//從中可以看到為app開辟了一個線程進入了looper之中
ActivityThread thread = new ActivityThread();
thread.attach(false);
if (sMainThreadHandler == null) {
sMainThreadHandler = thread.getHandler();
}
AsyncTask.init();
if (false) {
Looper.myLooper().setMessageLogging(new
LogPrinter(Log.DEBUG, "ActivityThread"));
}
Looper.loop();
throw new RuntimeException("Main thread loop unexpectedly exited");
}
}
看到源碼失望了,沒有一個while循環啊,其實用了他方法實現
//用一個looper的機制循環監聽響應
Looper.prepareMainLooper();
Looper.loop();
進一步深入代碼
public static void loop() {
final Looper me = myLooper();
if (me == null) {
throw new RuntimeException("No Looper; Looper.prepare() wasn't called on this thread.");
}
final MessageQueue queue = me.mQueue;
Binder.clearCallingIdentity();
final long ident = Binder.clearCallingIdentity();
// 在這里看到了一個循環監聽消息
for (;;) {
Message msg = queue.next(); // might block
if (msg == null) {
// No message indicates that the message queue is quitting.
return;
}
Printer logging = me.mLogging;
if (logging != null) {
logging.println(">>>>> Dispatching to " + msg.target + " " +
msg.callback + ": " + msg.what);
}
msg.target.dispatchMessage(msg);
if (logging != null) {
logging.println("<<<<< Finished to " + msg.target + " " + msg.callback);
}
// Make sure that ring the course of dispatching the
// identity of the thread wasn't corrupted.
final long newIdent = Binder.clearCallingIdentity();
if (ident != newIdent) {
Log.wtf(TAG, "Thread identity changed from 0x"
+ Long.toHexString(ident) + " to 0x"
+ Long.toHexString(newIdent) + " while dispatching to "
+ msg.target.getClass().getName() + " "
+ msg.callback + " what=" + msg.what);
}
msg.recycleUnchecked();
}
}
『伍』 android開發如何調試
能夠在eclipse上運行調試應用程序之前,你必須為它創建一個啟動項。啟動項指定哪個工程將被啟動,哪個activity開始工作,以及使用哪些模擬器選項等。
按照以下步驟為Eclipse版本的應用程序創建合適的啟動項:
打開啟動項管理工具。
在Eclipse 3.3 (Europa)的版本中,酌情選擇 Run > Open RunDialog... or Run > Open Debug Dialog... 。
在Eclipse3.4 (Ganymede)版本中,酌情選擇 Run > Run Configurations...or Run > Debug Configurations... 。
在左邊的工程類型列表選擇Android Application選擇,雙擊(或者點擊右鍵選擇new),創建一個新的啟動項。
輸入啟動項名稱。
在Android標簽中,瀏覽要開始的工程和Activity 。
在Target標簽中,設置想要顯示的屏幕及網路屬性,以及其他任何模擬器啟動選項。
你可以在Common標簽中設置更多的選項.
按下Apply保存啟動配置,或者按下Run或Debug()。
運行和調試應用程序
一旦你設定了工程和工程啟動配置,你就可以按照以下的說明運行和調試應用程序了。
從eclipse主菜單,根據情況選擇Run>Run 或者 Run>Debug,開始運行或者調試活動啟動項。
注意,這里活動啟動項是在運行配置管理中最最近一次選中的那個。它不一定就是在Eclipse Navigation 面板中選擇的程序(如果有的話)
設置和修改活動啟動項,可以使用啟動項管理工具。如何獲得啟動項管理工具可以參考創建一個啟動項
運行或調試應用程序將觸發以下動作:
啟動模擬器,如果他還沒有開始運行。
編譯工程, 如果在上次編譯的基礎上修改過代碼,將重新編譯。在模擬器上安裝應用程序。
Run選項,開始運行程序。
Debug 在"Wait for debugger "模式下啟動程序,然後打開調試窗口並將Eclipse Java調試器和程序關聯。
利用其他IDEs和工具開發Android應用程序
通常我們使用安裝有ADT插件的eclipse Eclipse with the ADT plugin.來開發Android程序,這個插件將編輯,build和調試功能集成到IDE上。
然而,如果你想在其他的IDE上開發程序,例如IntelliJ,或者使用沒有ADT插件的eclipse也可以。SDK提供了安裝,編譯,調試應用程序所需要的工具。
創建一個android工程
Android SDK包含一個activityCreator的程序,它將為工程產生多個stub文件和一個build文件。你可以用這個程序創建一個新的 Android工程或者在現有代碼上創建工程,如SDK中包含的例子。對於Linux 和Mac系統,SDK提供activityCreator.py,一個 Python腳本,Windows上則是activityCreator.bat一個批處理腳本。無論是哪種平台,用法是一樣的。
按以下步驟運行activityCreator創建Android工程:
在命令行下,切換到SDK下的tools/目錄下,為你的工程文件新建一個目錄。如果你是在現有代碼上創建工程,切換到程序的根目錄下。
運行activityCreator。在命令行下,你必須指定完全合格的類名作為參數。如果你是創建一個全新的工程,這個類代表的與它同名的stub類和腳本文件。如果是在現有代碼上創建工程,必須指定軟體包中其中一個Activity類的名稱。命令選項的腳本包括:
--out <folder> 設定輸出目錄。默認情況下輸出目錄為當前目錄。如果你想為工程文件創建一個新的目錄,可以使用這個選項來指向它。
--ide intellij, 在一個新的項目中生成IntelliJIDEA 工程文件。
這里有個例子:
~/android_linux_sdk/tools $ ./activityCreator.py --out myprojectyour.package.name.ActivityName
package: your.package.name
out_dir: myproject
activity_name: ActivityName
~/android_linux_sdk/tools $
activityCreator腳本生成以下文件和目錄(但是不能重寫已有文件):
AndroidManifest.xml 程序的清單文件,同時為工程指定Activity類。
build.xml 一個Ant文件,用來編譯/打包應用程序。
src/your/package/name/ActivityName.java 你指定的輸入Activity類。
your_activity.iml, your_activity.ipr, your_activity.iws [only with the-ide intelliJ flag] intelliJ工程文件
res/ 資源目錄.
src/ 源代碼目錄.
bin/ build腳本的輸出目錄.
現在你可以將開發文件夾移到任何地方,但是記住,必須使用tool/文件夾下的adb程序將文件發送到模擬器上。因此你需要在你工作環境和tools/文件夾之間活動。
當然你需要避免移動SDK目錄,因為它將打斷編譯腳本。(再重新build之前需要手動更新SDK的映射路徑)
編譯 android應用程序
使用activityCreator生成的Ant文件build.xml來編譯程序
如果你沒有,你可以通過Apache Ant home page得到Ant文件。安裝它,並確定它在你的可執行文件路徑下。
呼叫Ant之前,你需聲明JAVA_HOME環境變數,並將它設置為JDK的安裝路徑。
注 意:在windows上,JDK默認的安裝路徑為"ProgramFiles",這個路徑將會引起Ant失敗,因為路徑中間有空格。解決這個問題,你可以像這樣指定環境變數 JAVA_HOME:JAVA_HOME=c:\Prora~1\Java\ 然而簡單的解決方法是將JDK安裝在沒有空格的目錄下。例如:c:\java\jdk1.6.0_02.
如果你還沒有這么准備好,按照上面創建一個新的工程的介紹建立一個工程。
現在你可以為你的工程運行Ant編譯文件,只需在build.xml同文件夾下輸入ant即可。每次修改原文件或是資源,都需要重新運行ant,它將把最新版的應用程序打包以便deploy.
運行Android程序
運行一個編譯好的程序,你需要用adb工具將.apk文件載入到模擬器的/data/app/目錄下,用法如下面介紹。
啟動模擬器(命令行下運行sdk目錄下的/tools/emulator)。
模擬器切換到主畫面(最好不要在程序運行的時候向模擬器安裝程序,可以按home鍵離開應用程序)。
運 行adb,安裝myproject/bin./<appname>.apk文件。例如,安裝Lunar Lander 示例,命令行下,切換到SDK目錄下的/sample/LunarLander子目錄下,輸入../../tools/adbinstall bin/LunarLander.apk
在模擬器中,打開可執行程序列表,卷動屏幕,選中並啟動你的應用程序。
注意:當你第一次安裝一個Activity時,你可能需要在啟動項顯示之前,或者其它程序調用它之前重新啟動模擬器。因為軟體包管理工具通常只有在模擬器啟動時才能完全的審查manifests。
為程序附加調試器
這一節我們介紹如何在屏幕上顯示調試信息(例如CPU使用率),以及如何將IDE和模擬器上運行的程序關聯起來。
使用eclipse插件可以自動的生成調試器。但你也可以通過配置IDES來監聽調試埠得到調試信息。
啟動Dalvik Debug Monitor Server (DDMS) 工具 ,它在IDE和模擬器之間扮演著埠轉換服務的角色。?
設置模擬器調試配置選項。例如,等到調試信息被載入後才啟動應用程序。注意,很多調試選項無需DDMS也可以使用,例如模擬器上顯示CPU的使用效率,或者屏幕的刷新頻率。
配置IDE,使得調試時IDE與8700埠關聯 .how to set up Eclipse to debug your project. 包含以下信息。
配置IDE附加調試埠
DDMS將為每一個虛擬機分配一個特殊的調試埠,這個埠在模擬器上可以找到。你必須將你的IDE與此埠(虛擬機上信息欄中有列出這些埠)關聯或者是默認的埠8700。這樣可以使IDE 連接到模擬器上程序列表中的任一個程序。
你的IDE需要能夠關聯模擬器上正在運行的程序,顯示它的線程,並允許你掛起它,檢查它的狀態,設置斷點。如果你在開發設置面板選擇了「等待調試」,應用程序將等到Eclipse連接後才運行,所以你需要在連接之前設置斷點。
修改正在調試的程序,或者在當前程序運行時選擇「等待調試」將引起系統殺死這個應用程序。如果你的程序處於一種壞的狀態,你可以使用方式殺死它,方法很簡單,只需要設置和鉤掉復選框。