2013-05-06 84 views
1

爲了更好地理解我實際要求的內容,讓我概述一下我的情況(我認爲我的問題的措辭已關閉,但無法想象如何更好地表達它)。沒有SDK的Android開發

我目前正在一個由4人組成的團隊中開發基本的OCR應用程序。我專注於算法方面,開發預處理和實施OCR。我希望儘可能少地處理應用程序,從我目前閱讀的內容來看,這是一個相當陡峭的山坡,我有足夠的空間去學習從頭開發應用程序。

所以我的問題是:

  • 是否有可能開發一個黑箱的風格,我可以用手給應用程序開發人員,並說我的代碼「下面是功能列表,去爲你生活「
  • 是否有可能做到這一點,我可以在沒有Android模擬器的情況下進行測試?
  • 是否有可能我可以做所有這些,甚至不需要Android SDK? (因爲我可以發展我的代碼來處理特定的信息格式。例如int[][]像素數據)
+0

如果您不以任何方式與Android SDK交互,你只是在編寫一個Java數據處理程序,爲什麼要對它進行編碼?如果你打算在代碼的某些部分使用Android特定的功能,那麼顯然你需要它。對我來說似乎很清楚。 – Patashu 2013-05-06 10:32:25

+0

您只需在普通的舊版Java SE(最高版本爲6)中編寫代碼,然後將生成的JAR移交給「Android」開發人員 - 只要您指出使用的JDK API也包含在Android SDK中不是所有的都是)。 – 2013-05-06 10:33:47

回答

2

您當然可以在不依賴Android SDK的情況下編寫和開發算法,並向Android開發人員發佈工件(無論是源代碼還是JAR)。

但是,如果您至少有一個Android測試項目能夠減少反饋循環的時間長度,那麼您將向Android開發人員發送任何工件,並對其執行至少一些測試 - Android和Java SE運行時之間的差異,實際上可以保證您會因爲平臺差異而遇到錯誤。

更新:如果您編寫本地代碼或使用本機庫,我認爲您不需要使用Android NDK就可以輕鬆地提供工作工件。

+0

假設我使用帶有JNI包裝的API,開發人員可以使用NDK導入它,它仍然可以工作? – TheMerovingian 2013-05-06 11:26:42

+0

從我所看到的情況來看,Android NDK期望自己構建本地源代碼,並且沒有「重用編譯好的本機二進制文件」的功能。在這種情況下,您應該創建一個Android庫項目並將開發人員提供給APK。 – 2013-05-06 11:41:52

+0

但是如果我沒有預編譯的JNI,我可以爲我的開發編譯一個,並且他們可以爲Android開發編譯相同的一個。那麼兩者都會有函數調用? – TheMerovingian 2013-05-06 11:54:15

0

只要你的代碼對Android的SDK不依賴那麼當然你可以開發並沒有它的測試。只要確定你的代碼也不依賴其他API(例如AWT),如果Android是你的預期目標,那麼它們不在Android平臺上。最後,確保在Android環境內完成測試,一旦你滿意的事情一般工作。

0

您可以使用普通的Java進行開發和測試,只需將類文件發送給應用程序開發人員即可。

請記住,Java中包含的某些庫不包含在Android中,因此請在開發時仔細檢查Android API。