1. Android sdk 2.3下關於Error: Please ensure that adb is correctly located at .... .
Please ensure that adb is correctly located at 'D:\Phone\android-sdk-windows\tools\adb.exe' and can be executed.
更新sdk到2.3後,利用myeclipse啟動模擬器可能出現如下錯誤
[2011-01-03 21:59:57 - HelloAndroid] Android Launch!
[2011-01-03 21:59:57 - HelloAndroid] The connection to adb is down, and a severe error has occured.
[2011-01-03 21:59:57 - HelloAndroid] You must restart adb and Eclipse.
[2011-01-03 21:59:57 - HelloAndroid] Please ensure that adb is correctly located at 'D:/android_develop/SDK/platform-tools/adb.exe' and can be executed.
這個的解決方案是把SDK檔案夾裡的tools檔案夾路徑與platform-tools的路徑都添加到環境變數(我的電腦-右鍵-進階-環境變數-classpath)裡
adb.exe在2.2版本裡是被放在tools檔案夾下,但在2.3版本裡增加了 platform-tools這個檔案夾,而adb.exe被轉移至此
然後重啟myeclipse,如果依舊如此重啟電腦。(注意,重啟電腦有時是必須的,我就是因為開始沒有重啟電腦悲劇了)
down vote I simply did "Help" -> "Check for uppdates" in Eclipse. Then I checked every update possible (I had 2) accepted, waited for the updates to complete, restarted Eclipse and then everything was fixed!
I had some new build errors after the update, though, saying something like:
2.WARNING: Application does not specify an API level requirement!
解決方案:AndroidManifest.xml中
加入:
<uses-sdk android:minSdkVersion="3"></uses-sdk>
如果在你的C:/android-sdk-windows/tools目錄下並沒有adb.exe這個可執行檔。
並且當你開啟Eclipse時,有關Android的外掛程式會報錯。
這時你就應該這樣做:
首先,改一下你的環境變數,把原來的C:/android-sdk-windows/tools改成C:/android-sdk-windows/platform-tools。
(如果環境變數找不到,就不用設定)
其次,把C:/android-sdk-windows/platform-tools目錄下的adb.exe,AdbWinApi.dll,AdbWinUsbApi.dll 這三個檔案拷到你C:/android-sdk-windows/tools目錄下,
然後把其它檔案都拷貝到C:/android-sdk-windows/platforms/android-9/tools目錄下,
這時你就有疑問了,在C:/android-sdk-windows/platforms/android-9 這個目錄下並沒有tools檔案夾,這時就需要你建一個新的檔案夾,把它們放到裡面。
到這,大部分工作已經完成,現在你可以重啟你Eclipse了,不過它會提示你更新Android外掛程式,這時,你按照提示做就OK了。
3. ActivityManager: Warning: Activity not started, its current task has been brought to the front
這個不是Android平台的Bug,而是Android本身就是這樣一種處理機制。
我們在Android平台下,通過返回按鈕,或者程式本身的退出操作,去結束一個進程的時候,實際上Android虛擬機器未必會將這個進程真正的結束掉,在記憶體允許的情況下,這個程式會以緩衝的形式存在Android虛擬機器中。只有在記憶體不足的情況下時,Android系統會清理長時間不被啟用的任務,以為其他程式提供記憶體。
Android這樣做,是為了你下一次更加快速的啟動這個程式。
所以,出現樓主這種情況,是在你的程式沒有發生任何變化,並且記憶體足夠的情況下,會將上一次執行的程式,從緩衝Cached狀態直接放置到任務棧的頂端,則你的程式又可以繼續執行了。