Android 如何制作Maven';从AIDL文件生成源的antrun任务?
我正在尝试将Ant任务转换为Maven的antrun插件任务 Ant任务如下所示:Android 如何制作Maven';从AIDL文件生成源的antrun任务?,android,maven,ant,aidl,maven-antrun-plugin,Android,Maven,Ant,Aidl,Maven Antrun Plugin,我正在尝试将Ant任务转换为Maven的antrun插件任务 Ant任务如下所示: <aidl executable="${aidl}" framework="${project.target.framework.aidl}" libraryBinAidlFolderPathRefid="project.library.bin.aidl.folder.path" genFolder="${gen.absolute.dir}" aidlOutFolder="$
<aidl executable="${aidl}"
framework="${project.target.framework.aidl}"
libraryBinAidlFolderPathRefid="project.library.bin.aidl.folder.path"
genFolder="${gen.absolute.dir}"
aidlOutFolder="${out.aidl.absolute.dir}">
<source path="${source.absolute.dir}"/>
</aidl>
此代码来自android sdk build.xml文件
你知道Maven antrun插件应该是什么样子吗?我现在发布我的方法,以防有人在寻找相同的解决方案 请注意,代码不干净,不可移植
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>generate-aidl</id>
<phase>generate-sources</phase>
<configuration>
<target name="convert-aidl-files">
<property name="aidl" location="${env.ANDROID_HOME}/build-tools/android-4.2.2/aidl${exe}"/>
<property name="framework.aidl" location="${env.ANDROID_HOME}/platforms/android-17/framework.aidl"/>
<apply executable="${aidl}" parallel="false">
<arg value="-I${src.dir}"/>
<arg value="-p${framework.aidl}"/>
<arg value="-o${gen.dir}"/>
<srcfile/>
<fileset dir="${src.dir}">
<include name="**\*.aidl"/>
</fileset>
</apply>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
org.apache.maven.plugins
maven antrun插件
生成aidl
生成源
跑
是执行ant任务的maven插件maven antrun插件
- 属性
指向来自Android SDK构建工具的aidl.exe。脚本的这一部分使用硬编码值。更好的方法是动态地发现位置,但不幸的是,我还没有找到这样做的方法aidl
- 属性
指向来自Android SDK的framework.aidl文件。脚本的这一部分使用硬编码值。更好的方法是动态地发现位置,但不幸的是,我还没有找到这样做的方法framework.aidl
ant任务用于以apply
作为输入参数执行aidl.exefileset
用于说明srcfile
任务的输入文件。apply
是空的,但是我使用下面的srcfile
只过滤扩展名为*.aidl的文件fileset
mvn clean android:generate-sources