【问题标题】:Correct jar lib for android ane为 android ane 正确的 jar 库
【发布时间】:2013-12-03 12:30:54
【问题描述】:

我想用 ant 完全编译 ane。但有一个问题。我的 ane 不工作。 我通过实验意识到jar文件中的一个问题:如果我用eclipse ide导出jar,ane可以正常工作。但是,如果我用 ant 编译 jar,它就不起作用。两个 jar 文件看起来非常相似,我找不到区别。 JDK 版本 1.7.0(upd.40) 这是我的蚂蚁片段:

<property name="FLEX_HOME" value="C:/Program Files (x86)/FlexSDK/4.11.0/"/> 
<property name="fre.lib" value="${FLEX_HOME}/lib/android/FlashRuntimeExtensions.jar" />
<property name="android.lib" value="C:/Program Files (x86)/Android SDK/sdk/platforms/android-10/android.jar" />

<target name="compile.classes" description="Compile java classes">
     <javac destdir="temp/java_classes" classpath="${fre.lib}:${android.lib}" fork="true">
          <src path="${java.classes}"/>
     </javac>
</target>

<target name="compile.jar" description="Make jar lib">
     <jar destfile="temp/libs/lib.jar">
          <fileset dir="temp/java_classes">
               <include name="**/*.class"/>
          </fileset>
     </jar>
</target>

如何正确编译jar库?也许我丢失了 java 编译器参数?

【问题讨论】:

    标签: android jar air javac air-native-extension


    【解决方案1】:

    我找到了解决方案。 我正在使用 jdk 7 进行编译。但是 ane 不适用于此版本。 需要安装 jkd 6 并添加一些编译器属性:

    <property name="java_rt.lib" value="C:/Program Files (x86)/Java/jdk1.6.0_45/jre/lib/rt.jar" />
    
    <target name="compile.jar" description="Making jar lib">
        <javac 
            failonerror="true"
            destdir="temp/java_classes"
            classpath="${fre.lib}:${android.lib}"
            source="1.6" target="1.6"
            includeantruntime="false"
            bootclasspath="${java_rt.lib}">
            <src path="${java.classes}"/>
        </javac>
        <jar basedir="temp/java_classes" destfile="temp/ane/android/commExtLib.jar"/>
    </target>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-27
      • 1970-01-01
      • 2016-07-22
      • 2013-09-13
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多