簡體   English   中英

無法在Android項目構建路徑中包含jndi.jar文件

[英]Not able to include jndi.jar file in android project build path

我需要在Android應用程序中對用戶進行LDAP身份驗證,同樣,我正在使用JNDI查找方法,並且需要在構建路徑中包含JNDI.jar,但是android不允許我這樣做並拋出以下錯誤

[2011-02-17 15:08:33-DHCAndroid]:Dx處理“ javax / naming / AuthenticationException.class”時遇到麻煩:

不構建核心庫時對核心類(java。*或javax。*)的不良使用或錯誤使用。

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

但是,您實際上可能正在嘗試在核心名稱空間中定義一個類,例如,您可能從非Android虛擬機項目中獲取了該類的源。 這肯定是行不通的。 至少,這會損害您的應用程序與平台未來版本的兼容性。 它的合法性也常常令人懷疑。

如果您確實打算構建一個核心庫(僅適合於創建完整的虛擬機發行版而不是編譯應用程序),請使用“ --core-library”選項來禁止顯示此錯誤消息。

如果您繼續使用“ --core-library”,但實際上是在構建應用程序,那么請注意,在某些時候您的應用程序仍將無法構建或運行。 請為生氣的客戶做好准備,這些客戶發現例如,他們的操作系統升級后,您的應用程序將停止運行。 您將為此問題負責。

如果您合法使用的代碼恰好位於核心程序包中,那么最簡單的安全選擇就是重新打包該代碼。 也就是說,將相關的類移到您自己的包名稱空間中。 這意味着它們永遠不會與核心系統類沖突。 JarJar是一種可以幫助您實現這一目標的工具。 如果您發現自己無法做到這一點,則表明您所走的道路最終將導致痛苦,痛苦,悲傷和悲哀。

[2011-02-17 15:08:33-DHCAndroid]:Dx1錯誤; 正在中止[2011-02-17 15:08:33-DHCAndroid]轉換為Dalvik格式失敗,錯誤1

一旦我取出罐子,錯誤就會消失,取出罐子不是一種選擇,請提供幫助的方式

問候,Smriti Garg

像錯誤消息說:

將相關的類移到您自己的包名稱空間中。 [...] JarJar是一種可以幫助您實現這一目標的工具。

使用JarJar將JNDI代碼重新打包到您自己的名稱空間中。 然后依靠您的新罐子。

然后,找到另一個LDAP庫,該庫不在javax名稱空間中。 您無法與此JAR一起做什么。

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

將dx.bat的〜59行更改為:'set params ='到'set params=--core-library' -core 'set params=--core-library'

這使Android構建過程可以包含javax pacakges。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM