android - 从模板生成 C++、Java、XML 的工具

标签 android c++ java-native-interface code-generation template-engine

我正在寻找可以让我:

  • 使用可替换字符串定义代码模板。示例 - <NAMESPACE>将是可替换的:

    jclass pJNIActivityClass = pJNIEnv->FindClass("<NAMESPACE>");

  • 根据正则表达式自动插入代码 fragment 。示例 - 新代码将插入到//##:

    public void onCreate ( Bundle savedInstanceState ){
        super.onCreate  ( savedInstanceState ) ;
        //##
    

我发现的现有工具是特定于语言的。我真的不需要这个工具来理解特定的语言,尽管如果它可以解析 XML 会让生活更轻松。

一些背景。我在闭源应用程序导出 eclipse 或 visual studio 项目(android 或 windows)的环境中工作。此导出代码始终相同,但项目命名空间除外。

这里的想法是能够在这些库存导出项目上运行一个工具,以自动执行常见的额外功能。

最佳答案

对于 FOSS 解决方案,您应该查看 Acceleo来自 Eclipse 基金会。它使用像 UML 这样的语言作为输入,并允许您为任何基于文本的语言生成输出。它在大小和功能方面可能有点笨重,并且需要安装 Eclipse,但它非常擅长代码生成。它还可以很好地处理大型和复杂的模板源,并提供您期望在 IDE 中拥有的功能类型。我只使用过旧版本,但我对它的体验很好。

如果您找不到 FOSS 解决方案并且可以接受商业解决方案,我建议 EntiPro .我已经有一段时间没有使用它了,但我对它的体验非常是积极的。它功能强大且灵活,似乎可以满足您在问题中概述的要求。它也很便宜,单席开发者许可证只需 40 美元。

如果您找不到 FOSS 解决方案或不想花 40 美元购买 EntiPro,您可能只能自己实现解决方案。如果情况确实如此,我强烈建议使用 String Template Engine特伦斯·帕尔 (Terrance Parr)。

关于android - 从模板生成 C++、Java、XML 的工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16876848/

相关文章:

java - 我应该从 getFft 看到什么样的输出?

Android ESC/POS 通过 WiFi 打印

c++ - 黑莓模拟器 : ViewFinder starting failed 级联相机错误

c++ - 复制省略是否适用于结构化绑定(bind)

java - Android静态库方法无法调用

android - JNI : Printing Matrix to logcat doesn't work

android - 在 sqlite 中使用 autoincrement 关键字时出错

java - 单应用定制Android ROM

c++ - Windows clang Hello World lnk4217

android - 解析 CVM 列表 : when to show pin pad after getting CVM list in SFI, 需要任何命令