2011-11-15 71 views

回答

2

我懷疑你應該很好地將Tika的核心移植到Android上。但是,您可能會遇到很多Tika的依賴性問題,因此很多解析器無法正常工作

例如,Apache Tika的其中一個依賴項是Apache POI。人們試圖爲Android編譯POI,但遇到Android強加的方法限制問題。 Here's one discussion在POI名單上,here's another

您可能也會遇到與Tika的其他依賴關係類似的問題。所以,我期望讓核心不會太壞,但是你必須刪除一些解析器以適應Android的限制。

+0

你是對的。我成功地移植了核心,但是解析器遇到了很多問題(方法限制,依賴關係,大小等)。我想最好的辦法是隻激活所需的解析器或重新實現它們。 –

+0

@parser_failed:你是如何移植核心的?我一直在努力做到這一點,但沒有運氣到目前爲止:http://stackoverflow.com/questions/10420896/trying-to-port-tika-1-0-to-android-in-eclipse-error-messages- refercing-pom-xml Thx –

1

我的工作得到它的一部分用於API 7的工作(不完全結束得到它建)。如果你正在使用api 8+,那麼你可以忽略這個,但api 7沒有實現javax.xml.namespace。我發現一個獨立的實現here並導入後,很多問題都消失了。如果我遇到任何問題,我會通知你。

0

它可能將Apache Tika移植到Android。我已經做到了。請看看我的eDocReader應用在https://play.google.com/store/apps/details?id=somitsolutions.android.bookreader#?t=W251bGwsMSwxLDIxMiwic29taXRzb2x1dGlvbnMuYW5kcm9pZC5ib29rcmVhZGVyIl0.

這是通過移植Apache蒂卡到Android開發...

+0

這是開源的,還是你能告訴我們你是如何完成這個的? – NSchock

+0

是它的開源。我實現它的方式是,我將Android源代碼放在Android工作區中,並逐漸刪除那些與Android庫不兼容的部分。在Android變得可編譯之前,您將不得不從Tika庫中刪除大量Swing依賴項。 –

+0

我在哪裏可以訪問源代碼。我以爲我知道了;我設法讓代碼編譯,但是當我嘗試解析文本時,它似乎沒有正確解析,給我一些看似隨機的調試輸出,而不是應該從文件解析的文本。 – NSchock