在這裡列舉一些我在使用Android時遇到常見錯誤的解決方案,有些問題的解決方案也是從網上找到的,我又將它們做了一些整理和收集。後續也將會不斷的更新,將使用中遇到的問題增加進來。
今天從網上下載了幾個Android的原始碼,用Eclipse匯入出問下面的錯誤:
一、出現“The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files"的錯誤。
問題原因:系統找不到JDK的位置,或者沒有設定JDK的位置。
解決方案:
1.) 在Package Explorer->Project -> properties -> Java Bulid Path
2.) 選擇"Add library..."
3.) 選擇"JRE System Library"後,按Next.
4.) 選workplace default JRE後按finish...
備忘:JRE system Library的存放路經一般存放在: \android_sdks\platforms\android-9\android.jar , 第一個目錄是你在安裝JRE是選擇的路經,不同的電腦可能會不同。
二、出現“The import android cannot be resolved”的錯誤。
問題原因:系統找不到Android SDK的路經
解決方案:
在Package Explorer -> project -> Properties -> Android中的Project Build Target裡面勾選相應的SDK即可解決。
三、出現: Android requires compiler compliance level 5.0 or 6.0. Found '1.5' instead. Please fix project properties
問題原因:項目工程中的某些檔案沒有修改過來。
解決方案:
project ->android tools ->Fix Project
四、出現: conversion to dalvik format failed with error 1
在網上找到下面的解決方案:
android低版本工程(如1.5)放到高版本環境中(如2.2)可能會上述錯誤,解決方案如下:
(1). 如果不修改android sdk版本,則使用project clean 命令作用於某工程即可。
(該處理方式只是在高版本中相容了低版本工程,未真正意義上的升級)
(2). 如果修改android sdk版本,則需要以下幾個步驟:
1)修改SDK
選擇工程,build path --> configure build path ---> library 刪除引用的低版本SDK,
然後add External JARs,選擇高版本SDK,OK,儲存
2)修改classpath檔案
該檔案可能存在該項: <classpathentry kind="lib" path ="你所指定的高版本的地址"
把她修改成<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK" />
注意:classpath檔案沒有被載入到Eclipse的項目工程中去,它存放路經是在該項目的根目錄裡面的,你需要到硬碟上找到該檔案用記事本開啟後進行修改。
3) 修改AndroidManifest.xml
在AndroidManifest.xml檔案中,application標籤後添加<uses-sdk android:minSdkVersion="3"></uses-sdk>
4) 修改default.properties(很重要)
該檔案最後一行(前面沒用#的)target=android-3 該成target=android-8,儲存。
再看看你的工程和建立的android 2.2的工程結構就一樣了。
但是在我這裡問題還是沒有解決,問題還是出在SDK的版本不符的問題上,我又使用了第二種方法,刪除了無關的SDK庫即可解決問題。
五、出現: Unhandled exception type IOException,如下所示:
原因:未經處理的IOException異常類型
解決方案是:迴避或捕獲這個異常就OK了。修改如下:
try{ txt.setText(getRawString().toString()); } catch(Exception e){ e.printStackTrace(); }