Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在androidmaven项目中使用纯javalibs_Java_Android_Eclipse_Maven_Dependencies - Fatal编程技术网

在androidmaven项目中使用纯javalibs

在androidmaven项目中使用纯javalibs,java,android,eclipse,maven,dependencies,Java,Android,Eclipse,Maven,Dependencies,我有一个Android Maven项目,它使用纯Java libs,在过去的几天里,我与它斗争了好几个小时,无论我做什么,我总是得到以下错误: [INFO] d:\Development-Android\SDKs\Android\platform-tools\aapt.exe [package, -f, -M, D:\Development-Android\Workspaces\Android-Workspace\S-O-D\AndroidManifest.xml, -S, D:\Develop

我有一个Android Maven项目,它使用纯Java libs,在过去的几天里,我与它斗争了好几个小时,无论我做什么,我总是得到以下错误:

[INFO] d:\Development-Android\SDKs\Android\platform-tools\aapt.exe [package, -f, -M, D:\Development-Android\Workspaces\Android-Workspace\S-O-D\AndroidManifest.xml, -S, D:\Development-Android\Workspaces\Android-Workspace\S-O-D\res, --auto-add-overlay, -A, D:\Development-Android\Workspaces\Android-Workspace\S-O-D\target\generated-sources\combined-assets\assets, -I, d:\Development-Android\SDKs\Android\platforms\android-7\android.jar, -F, D:\Development-Android\Workspaces\Android-Workspace\S-O-D\target\s-o-d-1.0.0.ap_]
[ERROR] Cannot add source folder
com.android.sdklib.build.DuplicateFileException: Duplicate files at the same path inside the APK
    at com.android.sdklib.build.ApkBuilder.doAddFile(ApkBuilder.java:716)
    at com.android.sdklib.build.ApkBuilder.processFileForResource(ApkBuilder.java:762)
    at com.android.sdklib.build.ApkBuilder.addSourceFolder(ApkBuilder.java:587)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.jayway.maven.plugins.android.phase09package.ApkBuilder.addSourceFolder(ApkBuilder.java:244)
    at com.jayway.maven.plugins.android.phase09package.ApkMojo.doAPKWithAPKBuilder(ApkMojo.java:341)
    at com.jayway.maven.plugins.android.phase09package.ApkMojo.createApkFile(ApkMojo.java:249)
    at com.jayway.maven.plugins.android.phase09package.ApkMojo.execute(ApkMojo.java:207)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:107)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:534)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
经过长时间的尝试,我能够理解所指的重复文件是输出目录中的重复文件,其中一个是Android类文件夹,另一个是maven输出类文件夹

所以在我继续讨论之前,我已经试着找出答案,但是我找不到答案,Android Maven插件是否支持纯Java JAR的导入

呵呵,是的,非常重要,做清洁安装,而不仅仅是安装

提前感谢,

Adam Zehavi.

这可能会有所帮助:

这可能会有所帮助:


我花了很长时间才完全理解这个错误,解决了这个问题,还启用了从Eclipse快捷方式进行调试

因此,在没有任何保证的情况下,这里有一个通用的解决方案,到目前为止,它对我非常有效,而且我到目前为止没有遇到任何问题:

我有一个家长pom:

4.0.0 com.nu.art.software.android 安卓maven家长 1.0.0 聚甲醛 安卓maven家长 http://maven.apache.org 7. 仿真器1 2.1_r1 UTF-8 com.google.android 安卓 ${android.version} 罐子 假如 src /target/android类 com.jayway.maven.plugins.android.generation2 maven android插件 3.0.0-α-2 ${android.sdk} ${android.emulator.name} 符合事实的 符合事实的 符合事实的 maven编译器插件 2.3.2 org.apache.maven.plugins maven依赖插件 2.3 打开 生成源 解包依赖项 假如 符合事实的 **/*.类 ${project.basedir}/bin 符合事实的 符合事实的 org.apache.maven.plugins maven antrun插件 1.3 使类输出 清洁的 跑 符合事实的 正在创建“${project.basedir}/target/classes”目录 它完成了插件中缺少的所有逻辑,支持从Eclipse启动和调试,并解决了我的重复问题。第一次我把res文件夹作为源文件夹,它把事情搞砸了,后来它在依赖项中被复制了

接下来,每个最终项目都有自己的pom,它支持将依赖项复制到Eclipse输出文件夹:

安卓maven家长 com.nu.art.software.android 1.0.0 4.0.0 com.nu.art.software.sod s-o-d 1.0.0 apk S-O-D com.nu.art.software 雷克斯米尔 0.0.1 罐子 编写 com.nu.art.software nu艺术模块管理器 0.0.1 罐子 编写 com.nu.art.software nu艺术发生器 0.0.1 罐子 编写 com.nu.art.software 怒族艺术反思 0.0.1 罐子 编写 org.apache.maven.plugins maven依赖插件 2.3 打开 错误的 最后一句话,在安装最终项目时,这个技巧将所有依赖项提取到Eclipse输出文件夹中,如果我没有弄错的话,它被定义为“/bin”默认ADT插件输出文件夹。 晚的 r、 Eclipse使用数据构建APK,它的输出文件夹wallah中有和APK,F11可以使用它们启动调试器

这同样适用于我。。。我希望这对你也有帮助

分享你的想法。。。
亚当

好吧,我花了很长时间才完全理解这个错误,并解决了它,还启用了从Eclipse快捷方式进行调试

因此,在没有任何保证的情况下,这里有一个通用的解决方案,到目前为止,它对我非常有效,而且我到目前为止没有遇到任何问题:

我有一个家长pom:

4.0.0 com.nu.art.software.android 安卓maven家长 1.0.0 聚甲醛 安卓maven家长 http://maven.apache.org 7. 仿真器1 2.1_r1 UTF-8 com.google.android 安卓 ${android.version} 罐子 假如 src /target/android类 com.jayway.maven.plugins.android.generation2 maven android插件 3.0.0-α-2 ${android.sdk} ${android.emulator.name} 符合事实的 符合事实的 符合事实的 maven编译器插件 2.3.2 org.apache.maven.plugins maven依赖插件 2.3 打开 生成源 解包依赖项 假如 符合事实的 **/*.类 ${project.basedir}/bin 符合事实的 符合事实的 org.apache.maven.plugins maven antrun插件 1.3 使类输出 清洁的 跑 符合事实的 正在创建“${project.basedir}/target/classes”目录 它完成了插件中缺少的所有逻辑,支持从Eclipse启动和调试,并解决了我的重复问题。第一次我把res文件夹作为源文件夹,它把事情搞砸了,后来它在依赖项中被复制了

接下来,每个最终项目都有自己的pom,它支持将依赖项复制到Eclipse输出文件夹:

安卓maven家长 com.nu.art.software.android 1.0.0 4.0.0 com.nu.art.software.sod s-o-d 1.0.0 apk S-O-D com.nu.art.software 雷克斯米尔 0.0.1 罐子 编写 com.nu.art.software nu艺术模块管理器 0.0.1 罐子 编写 com.nu.art.software nu艺术发生器 0.0.1 罐子 编写 com.nu.art.software 怒族艺术反思 0.0.1 罐子 编写 org.apache.maven.plugins maven依赖插件 2.3 打开 错误的 最后一句话,在安装最终项目时,这个技巧将所有依赖项提取到Eclipse输出文件夹中,如果我没有弄错的话,它被定义为“/bin”默认ADT插件输出文件夹。 稍后,Eclipse使用数据构建APK,它的输出文件夹wallah中有和APK,F11可以使用它们启动调试器

这同样适用于我。。。我希望这对你也有帮助

分享你的想法。。。
亚当

来自里卡多的链接很好

添加

<extractDuplicates>true</extractDuplicates>

为Maven插件配置将确保JAR中的重复文件不会导致aapt崩溃。否则,在根包中包含与命名类似的许可文件的多个JAR就是一个问题,例如jackson-2.2.0 od

添加

<extractDuplicates>true</extractDuplicates>

为Maven插件配置将确保JAR中的重复文件不会导致aapt崩溃。否则,在根包中包含与名称相似的许可文件的多个JAR是一个问题,例如jackson-2.2.0

m2e android插件会自动为您完成所有这些。然后我想知道为什么我使用它时它不工作,它被卡在一个构建循环中,从未结束,并且不止一次地杀死了Eclipse。。。我已经决定删除插件并实现它的功能…这是alpha软件。您是否在卸载旧版本时尝试了最新版本?此外,如果你有问题,你可以提出一个错误,我会看看我是否有时间看它。m2e android插件会自动为你完成所有这些。然后我想知道为什么我使用它时它不起作用,它被卡在一个构建循环中,从未结束过,并且一次又一次地杀死了Eclipse。。。我已经决定删除插件并实现它的功能…这是alpha软件。您是否在卸载旧版本时尝试了最新版本?此外,如果你有问题,你可以提出一个错误,我会看看我是否有时间来看看它。