【问题标题】:Quick and dirty android module creation without using Eclipse IDE to build jar files快速而肮脏的 android 模块创建,无需使用 Eclipse IDE 构建 jar 文件
【发布时间】:2012-11-07 21:33:21
【问题描述】:

我目前正在开发一个允许我动态加载模块的 android 应用程序。 因此,我可以拥有任意数量的模块,而我的主应用程序只需要加载它们。

我已经成功完成了大部分工作 - 但我想创建一个可执行文件来“加速”模块创建过程,甚至只是想办法简化所涉及的步骤。

要创建一个模块,我目前必须执行以下操作:

  1. 构建包含我所需文件的 android 项目 模块 [都不是活动类 - 所以我不必 完全不用担心 androidmanifest 文件]
  2. 使用eclipse IDE jar创建工具选择我想编译成.class的src文件放入我的jar,并为这个jar指定我自己的自定义manifest文件,以及打包我使用的所有图片将模块也放入 jar 中。
  3. 然后使用jar文件我对其运行dex creator命令从jar中包含的类文件生成.dex文件,然后使用aapt命令将dex文件推回jar文件中。李>
  4. 此时 jar(现在它是一个模块)已创建,我可以将它放在服务器上进行下载,在我的应用程序中下载模块并使用反射在我的应用程序中加载我需要的所有代码。

我研究过用 ant 构建。我希望实现的目标看起来相当复杂,我不太确定从哪里开始。

我显然不能使用简单的 javac 来编译我的模块 src 中包含的 java 文件,因为所有代码都引用了 android sdk 以及在我的主应用程序和我各自的模块之间共享的静态库。

目前我使用 Eclipse IDE 创建包含所有打包图像、类文件、清单的初始 jar,然后我使用两个单独的批处理文件调用 android-sdk 来创建 dex 并将 dex 推送到 jar .

我可以用一个简单的步骤来简化这个过程吗?或者正在尝试这样做 - 一个完整的项目?

【问题讨论】:

    标签: android dynamic jar module executable


    【解决方案1】:

    我研究过用 ant 构建。我希望实现的目标看起来相当复杂,我不太确定从哪里开始。

    The documentation for Ant 在线,the documentation for building Android projects with Ant 也在线。唯一的区别是您需要将<jar> 任务添加到您的 Ant build.xml 文件中,就像我在几个项目中所做的那样,例如 this one

    <target name="jar" depends="debug">
        <jar
            destfile="bin/CWAC-EndlessAdapter.jar"
            basedir="bin/classes"
        />
    </target>
    

    也欢迎您考虑使用 Maven。虽然我个人不使用 Maven,但它有很多粉丝和社区驱动的 Android 支持。

    也欢迎您使用任何适合您的编程语言编写自己的构建脚本:Java、Ruby、Perl、Python 等。

    我显然不能使用简单的 javac 来编译我的模块 src 中包含的 java 文件,因为所有代码都引用了 android sdk 以及在我的主应用程序和我各自的模块之间共享的静态库。

    每个 Android IDE、Ant 和 Maven 等等,“使用简单的 javac 来编译 [一个 Android 项目的] java 文件”。他们只需将适当的 Android SDK JAR 文件添加到构建路径即可。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-08
      • 1970-01-01
      • 2018-10-26
      • 1970-01-01
      • 2010-09-11
      • 2012-12-05
      相关资源
      最近更新 更多