使用Eclipse/Maven为Android构建JasperMobile

使用Eclipse/Maven为Android构建JasperMobile,android,windows,eclipse,maven,symlink,Android,Windows,Eclipse,Maven,Symlink,我目前必须在android上为Jaspersoft报表服务器构建一个移动客户端。为了做到这一点,我获得了现有开源JasperMobile应用程序的源代码,我认为我可以将其作为基础/模板,并使用我们公司需要的特定功能对其进行扩展。在解决了大量构建问题后,我陷入了最后一个问题: 构建时,我从maven获得以下输出: [INFO] Scanning for projects... [INFO]

我目前必须在android上为Jaspersoft报表服务器构建一个移动客户端。为了做到这一点,我获得了现有开源JasperMobile应用程序的源代码,我认为我可以将其作为基础/模板,并使用我们公司需要的特定功能对其进行扩展。在解决了大量构建问题后,我陷入了最后一个问题:

构建时,我从maven获得以下输出:

    [INFO] Scanning for projects...
    [INFO]                                                                         
    [INFO] ------------------------------------------------------------------------
    [INFO] Building js-android-jaspermobile 1.5
    [INFO] ------------------------------------------------------------------------
    [INFO] 
    [INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ js-android-jaspermobile ---
    [INFO] Deleting C:\Development\JasperMobile\target
    [INFO] 
    [INFO] --- android-maven-plugin:3.3.0:generate-sources
    (default-generate-sources) @ js-android-jaspermobile ---
    [DEBUG] Expanding: c:\DEVELOPMENT\maven\repo\com\actionbarsherlock\actionbarsherlock\4.3.1
    \actionbarsherlock-4.3.1.apklib into C:\Development\JasperMobile\target\unpack\apklibs
    \com.actionbarsherlock_actionbarsherlock_apklib_4.3.1
    [DEBUG] expand complete
    [INFO] ANDROID-904-002: Found aidl files: Count = 0
    [INFO] ANDROID-904-002: Found aidl files: Count = 0
    [INFO] ANDROID-904-002: Found aidl files: Count = 0
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD FAILURE
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 3.767s
    [INFO] Finished at: Tue Jul 09 14:49:37 CAT 2013
    [INFO] Final Memory: 6M/11M
    [INFO] ------------------------------------------------------------------------
    [ERROR] Failed to execute goal com.jayway.maven.plugins.android.generation2:android-maven-
    plugin:3.3.0:generate-sources (default-generate-sources) on project js-android-
    jaspermobile: Execution default-generate-sources of goal
    com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.3.0:generate-sources 
    failed: Could not find tool 'aapt'. Please provide a proper Android SDK directory path as 
    configuration parameter <sdk><path>...</path></sdk> in the plugin <configuration/>. As an 
    alternative, you may add the parameter to commandline: -Dandroid.sdk.path=... or set 
    environment variable ANDROID_HOME. -> [Help 1]
    [ERROR] 
    [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
    [ERROR] Re-run Maven using the -X switch to enable full debug logging.
    [ERROR] 
    [ERROR] For more information about the errors and possible solutions, please read the 
    following articles:
    [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException
[INFO]正在扫描项目。。。
[信息]
[信息]------------------------------------------------------------------------
[信息]构建js android jaspermobile 1.5
[信息]------------------------------------------------------------------------
[信息]
[信息]---maven clean插件:2.4.1:clean(默认清洁)@js android jaspermobile---
[信息]删除C:\Development\JasperMobile\target
[信息]
[信息]---安卓maven插件:3.3.0:生成源代码
(默认生成源代码)@js android jaspermobile---
[调试]扩展:c:\DEVELOPMENT\maven\repo\com\actionbarsherlock\actionbarsherlock\4.3.1
\actionbarsherlock-4.3.1.apklib到C:\Development\JasperMobile\target\unpack\apklibs
\com.actionbarsherlock\u actionbarsherlock\u apklib\u 4.3.1
[调试]展开完成
[信息]ANDROID-904-002:找到的aidl文件:计数=0
[信息]ANDROID-904-002:找到的aidl文件:计数=0
[信息]ANDROID-904-002:找到的aidl文件:计数=0
[信息]------------------------------------------------------------------------
[信息]生成失败
[信息]------------------------------------------------------------------------
[信息]总时间:3.767秒
[信息]完成时间:2013年7月9日星期二14:49:37
[信息]最终内存:6M/11M
[信息]------------------------------------------------------------------------
[错误]未能执行目标com.jayway.maven.plugins.android.generation2:android maven-
插件:3.3.0:在js android项目上生成源代码(默认生成源代码)-
jaspermobile:执行默认生成目标源
com.jayway.maven.plugins.android.generation2:androidmaven插件:3.3.0:generate sources
失败:找不到工具“aapt”。请提供正确的Android SDK目录路径,如下所示
配置参数。。。在插件中。作为
或者,您可以将参数添加到命令行:-Dandroid.sdk.path=。。。或设置
环境变量ANDROID_HOME。->[帮助1]
[错误]
[错误]要查看错误的完整堆栈跟踪,请使用-e开关重新运行Maven。
[错误]使用-X开关重新运行Maven以启用完整调试日志记录。
[错误]
[错误]有关错误和可能的解决方案的更多信息,请阅读
以下条款:
[错误][帮助1]http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException
我读过关于这个问题的文章,它似乎与用于将maven与android开发集成在一起的eclipse插件有关。它在\platform tools\而不是\build tools\中查找aapt.exe和aidl.exe。当前的解决方法似乎是为必要的文件创建符号链接(在win7中使用mklink作为admin),但是当链接可执行文件时,我得到的是一个断开的文件而不是链接,即使根据cmd,操作是成功的

请告诉我,我是mavin和windoze n00b,那么是否还有其他解决方法?也许可以把maven指向正确的位置?其他符号链接工具


谢谢大家

这是maven android插件和谷歌最新android ADT的问题:

它在V3.6.0中已修复,因此您只需将android maven插件更新到此版本:

<plugin>
    <groupId>com.jayway.maven.plugins.android.generation2</groupId>
    <artifactId>android-maven-plugin</artifactId>
    <version>3.6.0</version>
    ...
</plugin>

com.jayway.maven.plugins.android.generation2
安卓maven插件
3.6.0
...

如果如上面的输出日志所示,这在命令行上失败,那么用于将maven与android开发集成在一起的eclipse插件可能没有问题。