Jox*_*aex 5 air ant android compilation build
我几天来一直在努力解决问题而且我对如何解决这个问题感到茫然.我正在使用Android sdk提供的Android工具编译的Android库项目.在项目内部,我遵循一个android项目的标准结构(我的jar文件在项目的libs目录中找到:
我发现当我使用Ant编译项目时:
<target name="compile-payment-lib" depends="prepare,init-profile">
<delete file="../payment-lib/project.properties"/>
<exec executable="${android.tool}" dir="../payment-lib" failonerror="true">
<arg value="update"/>
<arg value="lib-project"/>
<arg value="-p"/>
<arg value="${basedir}/../payment-lib"/>
<arg value="-t"/>
<arg value="${android.target.version}"/>
</exec>
<echo file="../payment-lib/project.properties" message="android.library=true" append="true"/>
<ant dir="../payment-lib" target="release"/>
</target>
Run Code Online (Sandbox Code Playgroud)
它不包括jar文件,因此当我们尝试收集这些类并使用它们时,它会在运行时丢失引用.我正在使用最新版本的android工具rev20编译.
我尝试解决这些问题的一些事情:
如果有人知道我可能做错了什么,请告诉我.
我应该提到的一件事是,这是一个特定项目与另一个项目一起使用,该项目是实际的应用程序项目.这个项目特别是一个带有jar依赖项的库项目.
另一件事是这是一个Adobe Air应用程序,在android中有一些原生扩展.因此,为了完成我们的任务,我们创建了一个带有主jar文件的ANE,该文件包含使用这样的ant任务的所有引用:
<target name="master-jar" depends="prepare">
<delete dir="target/uber-jar" />
<mkdir dir="target/uber-jar"/>
<antcall target="expand-3rdparty-jars" />
<jar destfile="${basedir}/target/master.jar">
<fileset dir="../game/gamelobby/bin/classes" includes="**/*"/>
<fileset dir="../payment-lib/bin/classes" includes="**/*" excludes="**/R*.class" />
<fileset dir="../crosscell_ad_lib/bin/classes" includes="**/*" excludes="**/R*.class" />
<fileset dir="src" includes="config/**/*"/>
<fileset dir="${basedir}/target/uber-jar" includes="**/*"/>
</jar>
</target>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1067 次 |
最近记录: |