2010-10-09 14 views
1

由於使用模擬器開發任何Java類非常惱火,我想在Eclipse中設置一個項目,而不是通常JRE我鏈接到通常Android項目鏈接到的Android.jar(版本2.1)。我不是故意用這個來開發Layouts或其他特定平臺的東西,我只是想創建一個使用HttpClient的類。它悲慘地像這樣崩潰。如何開發在簡單的java項目中使用android庫(不使用dalvik等)

線程「main」中的異常 java.lang.RuntimeException:Stub!在 org.apache.http.impl.client.AbstractHttpClient。(AbstractHttpClient.java:5) 在 org.apache.http.impl.client.DefaultHttpClient。(DefaultHttpClient.java:7) 在 AdsCatcher。(AdsCatcher的.java:26) 在TestAll.main(TestAll.java:10)

存根!我的意思是我想開發庫(並測試它們),這樣當我去模擬器時,我不必處理它們。有沒有一個好的方法來做到這一點?這似乎不適用於某些原因。

+1

「它悲慘地崩潰」...什麼時候?你在做什麼來做到這一點?運行代碼?僅僅編譯它?更多的細節和更少的態度可能會讓其他人幫助你 – 2010-10-09 15:12:03

+0

如果有一個例外,這意味着我試圖運行一些東西是不是? – gotch4 2010-10-10 12:28:12

回答

2

這不行,對不起。如錯誤消息所示,android.jar文件僅包含Android API的存根。這是有道理的,因爲該API無法在Android之外工作 - android.jar文件僅用於編譯。

對於您正在研究的與Android沒有依賴關係的類庫,歡迎您創建一個標準JRE Eclipse項目,該項目生成一個JAR,然後在您的Android項目中使用它。

在你的情況下,你可能會能夠使用JRE使用HttpClient創建一個類庫。儘管Apache的最新版本可能與Android的版本略有不同,但是,雖然可能是,但您仍然可以,因爲方法簽名等的更改(VerifyError),您可能會遇到運行時錯誤。

+0

我一直在懷疑這一點,你說什麼使很多道理......無論如何,在這種特殊情況下,HttpClient是如此不同,即使是基本的Apache教程不工作在Android上:( – gotch4 2010-10-10 12:27:37

+1

@ gotch4:確保你在看HttpClient 4.x教程HttpClient在3.x和4.x系列之間徹底改變了他們的API。 – CommonsWare 2010-10-10 12:42:49

相關問題