您好我正计划将javac编译器和dx转换器移植到android ..这将是一个微不足道的任务还是有任何主要的障碍?
我的想法是创建一个应用程序,以便人们可以在Android设备中编译java源代码,甚至可以在相同的Android设备中制作Android应用程序......
这可能吗?
答案 0 :(得分:4)
大多数人不会认为这是微不足道的。
您将javac
和dx
列为需要移植的内容。这些当然是要求。您需要创建一个javac
的ARM端口(以及它可能使用的所有不在Android上的系统库)。您还需要尝试创建一个可在Dalvik VM上运行的dx
版本,因为它是为Java VM编写的。
除此之外,您至少需要移植:
aapt
以及它可能使用的所有不在Android上的系统库aidl
以及它可能使用的所有不在Android上的系统库jarsigner
,keytool
)然后你需要创建一个可以调用Ant任务进行构建的Android应用程序,记住Android shell相当有限,并且可以想象在这个过程中存在自己的障碍。此类应用需要捕获stdout
和stderr
并将结果报告给用户(例如,编译错误)。您可能还需要使用自己的微型IDE,除非现有的文本编辑器足以满足您的需求。
我估计这可以超过100个工程师月。因此,如果您的公司为该项目委派了一个规模很大的团队,您可能会在一年左右的时间内完成。