問:開發人員應該選擇什麼android手機?
答:從各方面考慮使用Android Dev Phone 1最好,它比T-Mobile G1優點是不存在網絡解鎖問題,擁有各種權限,可以刷Bootloader 問:在平時Android開發時突然執行程序,出現了 Application does not specify a android.test.InstrumentationTestRunner instrumentation or does not declare uses- libraryandroid.test.runner的錯誤提示?
答:這主要是你在Run As中錯誤的選擇了目標為android JUnit Test這項導致的,解決的方法也很簡單在Run Dialog中刪除JUnit Test這條即可。 問:出現NSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES的錯誤提示怎麼辦?
答:這樣的問題主要是簽名沖突造成的,比如你使用了ADB的debug權限簽名,但後來使用標准sign簽名後再安裝同一個文件會出現這樣的錯誤提示,解決的方法只有先老老實實從手機上卸載原有版本再進行安裝,而adb install -r參數是無法解決這個問題。 問:裝了android 1.5版本後,發現過去的ADT 0.8版本插件無法自動更新怎麼辦?
答:Google已經將android進行了大的調整,我們安裝1.5版SDK必需先先卸載過去的0.8或更早版本插件。
步驟為: 在Eclipse的菜單中找到 Help > Software Updates > Manage Configuration. 展開左邊樹圖,找到Android Editors 0.8.0.v200809220836-110569,單擊鼠標右鍵咋彈出的菜單中選擇Uninstall即可。 問:使用Eclipse+ADT開發調試Android軟件時發現安裝一個apk文件出錯,出現類似Re-installation failed due to different application signatures.You must perform a full uninstall of the application. WARNING: This will remove the application data! Please execute 'adb uninstall om.android123.Demo' in a shell.的錯誤?
答:主要原因是ADT插件賦予APK文件debug簽名時數字效驗出錯可能因為ADT版本不同、APK不是這台計算機生產的在模擬器或Android手機上,解決的方法可以直接在真機中刪除該程序,重新執行即可,或在shell中直接adb uninstall 後重新安裝。 問:android使用什麼語言開發?
答:Android SDK僅提供了Java語言的開發包,但和Sun Java Micro Editon不兼容,需要使用Google Dalvik虛擬機可以識別的Java語言,更多參考Android SDK。目前不支持C/C++等其他語言,但通過ARM C++交叉編譯 器可以通過靜態庫方式在Android模擬器上執行本地C++程序,但最終由於權限等問題可能無法在android手機上使用。 問:無法對 jar 進行簽名:Java.util.zip.ZipException: invalid entry compressed size (expected xxx but got xxx bytes)怎麼辦?
答:這些問題主要是由於資源文件造成的,對於android開發來說應該檢查res文件夾中的文件,逐個排查。這個問題可以通過升級系統的JDK和JRE版本來解決。。 問:android程序為什麼沒有退出設計?
答:Google Android平台在設計程序聲明周期上比較特殊,可能是考慮到第二次加載時保證速度的原因而沒有強制加入內存釋放問題,所有的資源回收由Dalvik GC自動完成,所以在設計開發時一定要注意Activity和 Service類的生命周期問題,顯示在最上層的窗口將有最高的優先級,當Android操作系統內存不夠用時自動將會根據歷史棧按優先級強制殺掉進程。 問:開發過程中為什麼android系統去除了一些實用的類,比如Base64?
答:很早在Android.Util中我們可以看到Base64編碼類,但是到了Android 0.9時轉移到了org.apache.http中,最後到了android 1.0時去除了,但是系統仍然內部存在該類,Base64編碼除了在二進制文件傳輸有用外,系統的PIN密碼框加密也采用了Base64編碼,最終還是去除了,我們可以通過自己實現對照表等方式來實現這個方法,比如在ESTMP這樣的郵件服務器中用戶名和密碼仍然需要Base64加密。 問:Can't upload xxx.apk問題怎麼解決?
答:當前工程在編譯後沒有生成相關apk文件,apk文件一般位於工程的bin目錄下,裡面還會存放.class文件=>dex文件。Android開發網提醒這類錯誤IDE一般沒有提示錯誤信息,如果工程不是很龐大的話,可以重新創建一個工程逐一分析。 轉自:http://eclc.sysu.edu.cn/MCTL/Android/android_questions.Html