2012-07-18 60 views
2

我在亂搞我的DataDroid庫,新的lint檢查顯示Android SDK中有一個奇怪的錯誤。AndroidHttpClient奇怪的API級別

對於那些誰也不知道DataDroid,這對本地和遠程數據管理(更可以在這裏找到信息:http://datadroid.foxykeep.com)庫

要調用Web服務庫中,我使用類AndroidHttpClient進行連接到我的NetworkConnection類中的服務器。我的圖書館適用於Android 1.6及更高版本,即使在1.6手機上,我也從未遇到任何問題。

什麼奇怪的是,在SDK文檔中,我們可以看到,AndroidHttpClient僅適用於API 2.2及更高版本。我發現通過新的lint檢查「NewApi」顯示錯誤,說明minSdkVersion不夠高。

我看了一下Android的源代碼,我發現這個類在1.6已經存在,是不是私人的。所以我認爲在這個類的文檔中的分API級的錯誤......這應該是4(可能較低,但我沒有檢查)

唯一的問題是我不知道這個信息存儲,所以我不能創建一個補丁來修復它...

+0

這是不是一個真正的解決方案,但如果你肯定知道它的工作原理,只是想將錯誤消失,新的ADT提供一個註解,通過將打壓檢查,你的情況,@TargetApi(8)在課堂上給你錯誤。 – alexc 2012-07-18 03:32:53

+0

@Foxykeep你可以給我的Android 1.6源代碼鏈接已經存在AndroidHttpClient嗎?我已查過,但看不到任何東西。 – R4j 2012-07-18 03:33:43

+0

@alexc:這是我用我的項目的解決方案,但其他人可能有相同的問題,因爲我對自己的項目...固定SDK會更好:) – Foxykeep 2012-07-18 03:35:56

回答

3

類已經存在了一段時間,但因爲它不是公共的,某些版本可能排除它和你的程序可能會在那些失敗。這不是一個錯誤,還有其他類沒有隱藏,但由於某種原因尚未公開(還)。

+0

根據[更改歷史記錄](https://github.com/android /platform_frameworks_base/commits/master/core/java/android/net/http/AndroidHttpClient.java),@hide自2010年2月25日起被刪除 - 重新安排android-common,使框架不再與它鏈接](https: //github.com/android/platform_frameworks_base/commit/2269d1572e5fcfb725ea55f5764d8c3280d69f6d)。 – yorkw 2012-07-18 04:19:05

+0

好吧,它隱藏了,但在大多數SDK中仍然可用。然後我會改變它,以便它在8以下的API中使用其他的東西 – Foxykeep 2012-07-18 16:16:01