問:在平時(shí)Android開發(fā)時(shí)突然執(zhí)行程序,出現(xiàn)了 Application does not specify a android.test.InstrumentationTestRunner instrumentation or does not declare uses- libraryandroid.test.runner的錯(cuò)誤提示?
答:這主要是你在Run As中錯(cuò)誤的選擇了目標(biāo)為Android JUnit Test這項(xiàng)導(dǎo)致的,解決的方法也很簡單在Run Dialog中刪除JUnit Test這條即可。
===================================================
問:出現(xiàn) NSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES的錯(cuò)誤提示怎么辦?
答:這樣的問題主要是簽名沖突 造成的,比如你使用了ADB的debug權(quán)限簽名,但后來使用標(biāo)準(zhǔn)sign簽名后再安裝同一個(gè)文件會(huì)出現(xiàn)這樣的錯(cuò)誤提示,解決的方法只有先老老實(shí)實(shí)從手機(jī) 上卸載原有版本再進(jìn)行安裝,而adb install -r參數(shù)是無法解決這個(gè)問題。
====================================================
問:裝了Android 1.5版本后,發(fā)現(xiàn)過去的ADT 0.8版本插件無法自動(dòng)更新怎么辦?
答:Google已經(jīng)將Android進(jìn)行了大的調(diào)整,我們安裝1.5版 SDK必需先先卸載過去的0.8或更早版本插件。
步驟為: 在Eclipse的菜單中找到 Help > Software Updates > Manage Configuration. 展開左邊樹圖,找到Android Editors 0.8.0.v200809220836-110569,單擊鼠標(biāo)右鍵咋彈出的菜單中選擇Uninstall即可。
=====================================================
問:使用 Eclipse+ADT開發(fā)調(diào)試Android軟件時(shí)發(fā)現(xiàn)安裝一個(gè)apk文件出錯(cuò),出現(xiàn)類似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.的錯(cuò)誤?
答:主要原因是ADT 插件賦予APK文件debug簽名時(shí)數(shù)字效驗(yàn)出錯(cuò)可能因?yàn)锳DT版本不同、APK不是這臺(tái)計(jì)算機(jī)生產(chǎn)的在模擬器或Android手機(jī)上,解決的方法可以直 接在真機(jī)中刪除該程序,重新執(zhí)行即可,或在shell中直接adb uninstall 后重新安裝。
=======================================================
問:Android 使用什么語言開發(fā)?
答:Android SDK僅提供了Java語言的開發(fā)包,但和Sun Java Micro Editon不兼容,需要使用Google Dalvik虛擬機(jī)可以識(shí)別的Java語言,更多參考Android SDK。目前不支持C/C++等其他語言,但通過ARM C++交叉編譯 器可以通過靜態(tài)庫方式在Android模擬器上執(zhí)行本地C++程序,但最終由于權(quán)限等問題可能無法在Android手機(jī)上使用。
========================================================
問:無法對(duì) jar 進(jìn)行簽名:java.util.zip.ZipException: invalid entry compressed size (expected xxx but got xxx bytes)怎么辦?
答:這些問題主要是由于資源文件造成的,對(duì)于android開發(fā)來說 應(yīng)該檢查res文件夾中的文件,逐個(gè)排查。這個(gè)問題可以通過升級(jí)系統(tǒng)的JDK和JRE版本來解決。。
==========================================================
問:Android程序?yàn)槭裁礇]有退出設(shè)計(jì)?
答:Google Android平臺(tái)在設(shè)計(jì)程序聲明周期上比較特殊,可能是考慮到第二次加載時(shí)保證速度的原因而沒有強(qiáng)制加入內(nèi)存釋放問題,所有的資源回收由Dalvik GC自動(dòng)完成,所以在設(shè)計(jì)開發(fā)時(shí)一定要注意Activity和 Service類的生命周期問題,顯示在最上層的窗口將有最高的優(yōu)先級(jí),當(dāng)Android操作系統(tǒng)內(nèi)存不夠用時(shí)自動(dòng)將會(huì)根據(jù)歷史棧按優(yōu)先級(jí)強(qiáng)制殺掉進(jìn)程。
===========================================================
問: 開發(fā)過程中為什么Android系統(tǒng)去除了一些實(shí)用的類,比如Base64?
答:很早在Android.Util中我們可以看到Base64編碼 類,但是到了Android 0.9時(shí)轉(zhuǎn)移到了org.apache.http中,最后到了Android 1.0時(shí)去除了,但是系統(tǒng)仍然內(nèi)部存在該類,Base64編碼除了在二進(jìn)制文件傳輸有用外,系統(tǒng)的PIN密碼框加密也采用了Base64編碼,最終還是去 除了,我們可以通過自己實(shí)現(xiàn)對(duì)照表等方式來實(shí)現(xiàn)這個(gè)方法,比如在ESTMP這樣的郵件服務(wù)器中用戶名和密碼仍然需要Base64加密。
===========================================================
問:Can't upload xxx.apk問題怎么解決?
答:當(dāng)前工程在編譯后沒有生成相關(guān)apk文件,apk文件一般位于工程的bin目錄下,里面還會(huì)存 放.class文件=>dex文件。Android開發(fā)網(wǎng)提醒這類錯(cuò)誤IDE一般沒有提示錯(cuò)誤信息,如果工程不是很龐大的話,可以重新創(chuàng)建一個(gè)工程 逐一分析。