2011-02-17 107 views
0

我需要做Android應用我的用戶的LDAP認證,爲我使用JNDI查詢方法和需要包括JNDI.jar在我的構建路徑相同,但Android是不是讓我這樣做,並拋出以下錯誤不能包括在Android項目的構建路徑jndi.jar文件

[2011-02-17 15:08:33 - DHCAndroid]:DX故障處理 「的javax /命名/ AuthenticationException.class」:

不明智的或錯誤的核心類的使用(Java *或使用javax。*)時 沒有建立一個核心庫。

這通常是由於在使用IDE(如Eclipse)時,無意中在您的應用程序的項目中包含了一個核心庫文件 。如果 你確定你不是故意定義一個核心類,那麼這個 是最可能解釋發生了什麼。

但是,您可能實際上正在嘗試在覈心 名稱空間中定義一個類,該名稱空間的來源可能來自例如 非Android虛擬機項目。這肯定不會是 的工作。至少,它會危害您的應用程序與未來版本的平臺的兼容性。它也常常是有問題的合法性。

如果你真的打算建立一個核心庫 - 這是隻有 適合作爲創建一個完整的虛擬機分配, 而不是編譯應用程序的一部分 - 然後使用 「--core庫」選項來抑制此錯誤消息。

如果你繼續使用「--core庫」,但事實上是構建 應用程序,然後諒解,您的應用程序仍然會失敗 建設或運行,在某些時候。請爲憤怒的客戶 做好準備,例如,他們發現您的應用程序在他們升級其操作系統後不再起作用 。你應該責怪這個 的問題。

如果您正在使用恰巧位於核心 包中的某些代碼,那麼最簡單的安全替代方法是將該代碼重新包裝爲 。也就是說,將有問題的類移動到您自己的包 名稱空間中。這意味着他們永遠不會與系統類核心 發生衝突。 JarJar是一個可以幫助你完成這項工作的工具。 如果你發現你不能做到這一點,那麼這是一個跡象表明 你在路徑將最終導致疼痛,痛苦,悲傷, 和哀悼。

[2011-02-17 15:08:33 - DHCAndroid]:Dx1至誤差;中止[2011-02-17 15:08:33 - DHCAndroid]轉換到的Dalvik格式,錯誤1

只要我刪除錯誤消失罐子失敗,除去罐子是不是一個選項,請做到這一點的

問候的方式幫助, 傳承加爾格

回答

0

找到另一個LDAP庫,那麼,一個不是在javax命名空間。你想用這個JAR做什麼是不可能的。

0

將dex參數--core-library添加到[ANDROID_SDK] \ platform-tools \ dx.bat。

更改行〜dx.bat 59: '設定PARAMS =' 到'set params=--core-library'

這使得Android的構建過程,以允許包括的javax pacakges。

+0

在Linux中:http://stackoverflow.com/questions/839435/android-core-library-error – 2014-09-11 08:06:13

0

像錯誤消息指出:

移動有關的課程到自己的包命名空間。 [...] JarJar是一個工具,可以幫助你在這個努力。

使用JarJar將JNDI代碼重新打包到您自己的命名空間中。然後依靠你的新的jar。

相關問題