使用 ant 命令行添加 jar 文件以在 java 项目中添加 class

Adding jar file to add class in a java project using ant command line

我在网上找了几个小时,但找不到以下问题的答案... 我有一个 android 项目可以在 MacOSX 上使用 "ant release" 命令行正常运行(由于各种原因我不能使用 Eclipse 或 Android Studio 等)。我需要扩展包含在 jar 文件中的第 3 方 class(称为 mididriver.jar)。 我在主 java 源文件中添加了以下行:

导入 mididriver.*;

我需要向我的 build.xml 文件添加什么以及我应该将 mididriver.jar 文件放在我的项目文件夹结构中的什么位置,这样它就不会给我一个 "package mididriver does not exist" 错误?

非常感谢(提前)!

这是我的 build.xml 的内容,它在我添加新的 class 之前有效:

<project name="MyProject" default="debug">
  <loadproperties srcFile="local.properties"/>
  <loadproperties srcFile="project.properties"/>
  <target name="clean" depends="android_rules.clean">
    <delete dir="libs"/>
    <delete dir="obj"/>
    <exec executable="${ndk.dir}/ndk-build" dir="${basedir}" failonerror="true">
      <arg value="clean"/>
    </exec>
  </target>
  <target name="-pre-build">
    <condition property="makefileConfig" value="Debug" else="Release">
      <equals arg1="${ant.project.invoked-targets}" arg2="debug"/>
    </condition>
    <condition property="ndkDebugValue" value="NDK_DEBUG=1" else="NDK_DEBUG=0">
      <equals arg1="${ant.project.invoked-targets}" arg2="debug"/>
    </condition>
    <condition property="app_abis" value="armeabi-v7a" else="armeabi-v7a">
      <equals arg1="${ant.project.invoked-targets}" arg2="debug"/>
    </condition>
    <exec executable="${ndk.dir}/ndk-build" dir="${basedir}" failonerror="true">
      <arg value="--jobs=2"/>
      <arg value="CONFIG=${makefileConfig}"/>
      <arg value="${ndkDebugValue}"/>
      <arg value="APP_ABI=${app_abis}"/>
    </exec>
    <delete file="${out.final.file}"/>
    <delete file="${out.packaged.file}"/>
  </target>
  <import file="${sdk.dir}/tools/ant/build.xml"/>
</project>

在您的项目中创建一个 lib 目录

my-project
   src
   target
   lib

将jar放入lib目录

修改javac任务,将lib目录添加到class路径中。

<path id="lib.dir">
    <fileset dir="./lib">
        <include name="**/*.jar"/>
    </fileset>
</path>

<javac srcdir="src" destdir="target/classes" >
   <classpath refid="lib.dir"/>
</javac>

我不知道哪个目标不适合你。是javac吗?还是ndk构建?我不知道如何为 ndk-build 指定 class 路径。必须有一些选项,例如 -classpath.

好吧,在多次尝试定义 lib 文件夹失败后,我将 jar 文件放在现有的 libs 文件夹中,现在构建成功了...