11

大家好,我如何创建使用 Eclipse 在 android 中创建的项目的 jar 文件。我已经以这种方式完成了项目->右键单击->导出->选择构建器->antbuilder-->确定,然后在此过程之后将创建build.xml 。在 bulid.xml 上,我将创建新的构建器。

  • 右键单击项目 -> 属性 -> 选择新建 -> 提供 build.xml 和您的项目路径,然后按确定,将创建新的构建器。
  • 现在从项目属性中选择该构建器,然后按确定。
  • 现在构建您的项目,您的 jar 将在 bin 文件夹中创建。

我遵循了上述过程,但在 bin 文件夹中找不到我的 jar。我可以看到我的 build.xml 已创建并且所有过程都很顺利,但仍然没有创建 jar。谁能告诉我该怎么做?

我的 build.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- WARNING: Eclipse auto-generated file.
              Any modifications will be overwritten.
              To include a user specific buildfile here, simply create one in the same
              directory with the processing instruction <?eclipse.ant.import?>
              as the first entry and export the buildfile again. -->
<project basedir="." default="build" name="testtttttttttt">
    <property environment="env"/>
    <property name="debuglevel" value="source,lines,vars"/>
    <property name="target" value="1.6"/>
    <property name="source" value="1.6"/>
    <path id="Android 2.2.libraryclasspath">
        <pathelement location="C:/Program Files (x86)/Android/android-sdk/platforms/android-8/android.jar"/>
    </path>
    <path id="com.android.ide.eclipse.adt.LIBRARIES.libraryclasspath"/>
    <path id="testtttttttttt.classpath">
        <pathelement location="bin/classes"/>
        <path refid="Android 2.2.libraryclasspath"/>
        <path refid="com.android.ide.eclipse.adt.LIBRARIES.libraryclasspath"/>
    </path>
    <target name="init">
        <mkdir dir="bin/classes"/>
        <copy includeemptydirs="false" todir="bin/classes">
            <fileset dir="src">
                <exclude name="**/*.java"/>
            </fileset>
        </copy>
        <copy includeemptydirs="false" todir="bin/classes">
            <fileset dir="gen">
                <exclude name="**/*.java"/>
            </fileset>
        </copy>
    </target>
    <target name="clean">
        <delete dir="bin/classes"/>
    </target>
    <target depends="clean" name="cleanall"/>
    <target depends="build-subprojects,build-project" name="build"/>
    <target name="build-subprojects"/>
    <target depends="init" name="build-project">
        <echo message="${ant.project.name}: ${ant.file}"/>
        <javac debug="true" debuglevel="${debuglevel}" destdir="bin/classes" source="${source}" target="${target}">
            <src path="src"/>
            <classpath refid="testtttttttttt.classpath"/>
        </javac>
        <javac debug="true" debuglevel="${debuglevel}" destdir="bin/classes" source="${source}" target="${target}">
            <src path="gen"/>
            <classpath refid="testtttttttttt.classpath"/>
        </javac>
    </target>
    <target description="Build all projects which reference this project. Useful to propagate changes." name="build-refprojects"/>
    <target description="copy Eclipse compiler jars to ant lib directory" name="init-eclipse-compiler">
        <copy todir="${ant.library.dir}">
            <fileset dir="${ECLIPSE_HOME}/plugins" includes="org.eclipse.jdt.core_*.jar"/>
        </copy>
        <unzip dest="${ant.library.dir}">
            <patternset includes="jdtCompilerAdapter.jar"/>
            <fileset dir="${ECLIPSE_HOME}/plugins" includes="org.eclipse.jdt.core_*.jar"/>
        </unzip>
    </target>
    <target description="compile project with Eclipse compiler" name="build-eclipse-compiler">
        <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
        <antcall target="build"/>
    </target>
</project>
4

2 回答 2

26

在 Eclipse 中,选择项目,右键单击项目,选择导出,从中选择 Jar。然后按照简单的向导,给出你想要保存 jar 的目的地,然后完成。你可以在那里找到你的罐子。 在此处输入图像描述

于 2012-07-02T07:04:48.440 回答
1

第 1 步。按照此处的说明创建 Android 库项目。

第 2 步。现在您需要将第 1 步中创建的 Android 库项目的引用提供给您的客户端应用程序。有两种方法可以做到这一点。

•通过客户端应用程序属性提供 Android 库项目本身的参考 -> 在左侧窗格中选择“Android” -> 在 Libraty 部分中,添加 Android Libraty 项目(这在上面第 1 步中给出的链接中进行了解释)

• 给出Android Library 项目的.jar 文件的引用(从Android Library 项目的位置-> bin -> .jar 文件)。客户端应用程序 -> 属性 -> 单击左侧窗格中的“Java 构建路径” -> 转到“库”选项卡 -> 单击“添加外部 JAR”按钮并选择 .jar 文件 -> 转到“订购和导出”选项卡,然后选择添加的 .jar 文件引用并将其移至顶部。

希望对你有帮助

于 2013-08-09T18:55:09.767 回答