2015-09-24 39 views
1

我想创建一个ANT脚本来为我的Flex移动项目创建一次单击构建。无法在ANT脚本中添加包含ANE文件

我的应用程序使用一些原生扩展文件(.ane文件)。当我试图运行Ant脚本它说 -

原生扩展的执行方案“com.example.mobile.extensions.NativeFeature”应用程序所需的未找到目标平台

我正在使用以下代码在ANT脚本中包含一个文件。

<compiler.external-library-path dir="${basedir}/ane" append="true"> 
    <include name="**/*.ane"/> 
</compiler.external-library-path> 

还增加了在myApp-app.xml文件相同的extensionID我在我的extension.xml文件中使用。

+0

几个问题:你在.ane中实现了哪些平台?您在Ant脚本中定位了哪个平台?在你看到错误之前(即在mxmlc或ADT调用过程中),你会得到多少脚本?最后,你可以发布你的构建脚本(或者至少是你调用mxmlc和adt的片段)吗? – Brian

+0

@Brain我正在使用Flash Builder 4.7和AIR sdk 17.希望自动构建过程,以便创建ANT脚本。我的应用程序正在使用一些ANE文件,并且我将这些ane文件包含在mxmlc中,但是在运行ANT脚本之后,ADT执行中出现此错误。 –

+0

谢谢@布莱恩你的问题帮助我找到上述错误的根本原因。 –

回答

0

解决了这个问题。基本上我需要在ADT命令中添加-extdr参数。通过在ADT命令中添加-extdir ${basedir}/ane,我可以解决问题。下面添加了示例代码。

<target name="package.android" > 
    <echo message="Packaging for Android"/> 
    <exec executable="${ADT}" dir="${build.dir}/android"> 
      <arg line="-package 
         -target apk 
         -storetype ${build.storetype} 
         -keystore ${android.cert} 
         -storepass ${android.cert.password} 
         ${app.name} 
         ${app.name}-app.xml 
         ${app.name}.swf 
         -extdir ${basedir}/ane 
         "/> 
     </exec> 
</target> 
相关问题