Я отправляю то, как я это делал сейчас, на случай, если кто-то ищет такое же решение.
Обратите внимание, что код не является чистым и не переносимым.
<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>
- The
maven-antrun-plugin
является Maven плагин для выполнения задачи Ant.
- Недвижимость
aidl
указывает на helpl.exe из SDK для создания SDK. Эта часть скрипта использует жестко заданные значения. Лучшим способом будет поиск местоположения динамически, но, к сожалению, я еще не нашел способ сделать это.
- Свойство
framework.aidl
указывает на файл framework.aidl из Android SDK. Эта часть скрипта использует жестко заданные значения. Лучшим способом будет поиск местоположения динамически, но, к сожалению, я еще не нашел способ сделать это.
- Задача муравья
apply
используется для выполнения helpl.exe с fileset
в качестве входного аргумента.
srcfile
используется для обозначения входных файлов для задачи apply
. srcfile
пуст, но я использовал fileset
, чтобы фильтровать только файлы с расширением * .aidl.