2010-04-13 37 views
2

我剛開始測試我的應用程序在Android 1.5,它不想運行。在我的主要活動中,我在onCreate中有一個斷點,但即使在達到之前,我也會得到一個ClassNotFound異常。未找到的班級似乎是我主要活動的班級。異常發生在: ActivityThread.performLaunchActivity強制關閉之前onCreate,活動類沒有發現異常

它在1.6及更高版本上運行正常,所以我假設我使用的是1.5版不支持的東西。但是我怎麼知道它是什麼?任何提示如何調試這將不勝感激。

謝謝。

+2

從後請logcat中的堆棧跟蹤。 – 2010-04-13 15:47:50

+0

(如果您不知道如何使用LogCat,請參閱此解釋:http://stackoverflow.com/questions/2552568/whats-wrong-with-debugging-in-eclipse-on-android/2552801#2552801) – 2010-04-13 15:52:57

回答

0

今天我有同樣的問題。很難確定哪個類不受支持。堆棧跟蹤沒有真正闡明它的任何亮點,它只是給出了一些有點誤導性的消息,即你的活動類不能被發現。一對夫婦API的,我是用我知道是不是在Android 1.5的有: - 藍牙(2.0及以上) - 文本到語音(1.6及以上)

我就遇到了這個問題,因爲我增加了對文本的支持發言到我的應用程序,並沒有想到首先檢查文檔以確保文本到語音在Android 1.5上受支持。我驚訝地發現它只是在Android 1.6中添加的。要解決這個問題,我不得不做兩件事情:「導入android.speech.tts *」

  • 刪除從我的活動
  • 創建文本反映到語音API包裝類,並調用真正的文本到語音課程。
  • 將if語句放在對我的封裝類的調用中,以確保我只在Android SDK級別爲1.6或更高時才調用它。您可以通過檢查android.os.Build.VERSION.SDK
  • 來檢查Android SDK級別。在您的Android Market列表中,請指出只有安裝了Android 1.6或更高版本才能使用文本到語音功能。

這種方法的好處是,在未來,當我決定放棄對Android 1.5的支持,我可以很容易地改變我的電話給我的包裝類只需要直接調用文本到語音API和撕裂了包裝類。

我爲藍牙代碼做了類似的事情。

1

如果導入罐,驗證它們在/ libs目錄,而不是在/ lib目錄下,它們將被導入爲jar,而不是外部罐子