2013-05-06 86 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。