Articles of Maven

如何自动化精简版和高级版的Android版本?

我正在寻找一个解决scheme,这将允许我build立我的Android应用程序的精简版和高级版本,无需手动操作。 我正在寻找的function是: 自动重命名包 在AndroidManifest.xml文件中更改主包名称。 在Java或/和资源文件中更改常量值或将适当的文件replace为当前的应用程序版本。 谢谢。

如何将Maven添加到现有的IntelliJ Android项目中

我一直在做一些关于将Maven添加到现有Android项目的研究,我正在努力研究这是如何工作的。 我曾经在Netbeans的基于Web的项目中使用过Maven,但是对于这个项目,我正在使用IntelliJ。 我可以创build一个新的“Maven模块”,但我已经有一个Android项目,所以我不完全确定这是我应该采取的路线。 我发现这篇文章提供了一些细节,但不是一步一步的Windows集成指南(至less我看到)。 我可以在Android项目中使用Maven吗? 编辑:我正在寻找在Windows环境中做到这一点

为什么在使用Android Studio / IntelliJ时不能正确执行我的pom?

我有一个使用Maven构build的Android应用程序。 使用buildnumber-maven-plugin和maven-resources-plugin我将maven项目版本和git commit散列插入到AndroidManifest中。 buildnumber-maven-plugin的create目标在validate阶段运行,maven-resources-plugin的resources目标在initialize阶段运行。 当通过命令行(使用mvn install )构build时,所有工作都正常,并且生成的编号在生成的清单中正确显示。 然而,当通过Android Studio或IntelliJ构build时,清单中的git commit hash不存在(Maven属性不会被实际值replace),但是maven项目版本是。 为什么? 仅供参考:Android Studio在Make之前运行Maven阶段进程资源,因此它应该可以工作。 在命令行中,我使用的是Maven 3.0.3,所以它可能是一个版本问题(尽pipe我找不到IntelliJ使用的是什么版本)。 这是我的POM的构build元素: <build> <sourceDirectory>src</sourceDirectory> <testSourceDirectory>test</testSourceDirectory> <resources> <resource> <directory>${project.basedir}</directory> <filtering>true</filtering> <targetPath>${project.build.directory}/filtered-manifest</targetPath> <includes> <include>AndroidManifest.xml</include> </includes> </resource> </resources> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> <version>${maven.buildnumber.version}</version> <configuration> <doCheck>false</doCheck> <doUpdate>false</doUpdate> <shortRevisionLength>6</shortRevisionLength> <revisionOnScmFailure>000000</revisionOnScmFailure> </configuration> <executions> <execution> <phase>validate</phase> <goals> <goal>create</goal> </goals> </execution> </executions> </plugin> <plugin> <artifactId>maven-resources-plugin</artifactId> <version>${maven.resources.version}</version> <executions> <execution> […]

如何使用artifactoryPublish发布发布和debugging工件

我有Android Studio项目,在发行版和debugging版本中构buildAAR或APK。 我想在Artifactory服务器上将这些发布到不同的存储库。 JFrog的例子似乎没有涵盖这种情况。 这是否意味着最好的做法是仅仅构build版本或者只是构builddebugging版本,然后根据构build的typesselect要上传的内容和上传的位置?

Android support-v4的LOC头文件Maven编译错误

我得到编译失败错误,而maven生成我的pom.xml文件。 编译错误是: error reading C:\Users\amrit\.m2\repository\com\google\android\support-v4\r6\support-v4-r6.jar; invalid LOC header (bad signature). 有谁知道如何解决这个问题? 以下是我的pom.xml文件: <project xmlns = "http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>MyListReq</groupId> <artifactId>MyListReq</artifactId> <version>0.0.1-SNAPSHOT</version> <name>AtosList</name> <dependencies> <dependency> <groupId>com.google.android</groupId> <artifactId>android</artifactId> <version>4.1.1.4</version> <scope>provided</scope> </dependency> <dependency> <groupId>com.google.android</groupId> <artifactId>support-v4</artifactId> <version>r6</version> </dependency> </dependencies> <build> <sourceDirectory>src</sourceDirectory> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.6</source> <target>1.6</target> <fork>true</fork> <executable>C:\Program Files\Java\jdk1.7.0_03\bin\javac.exe </executable> </configuration> </plugin> <plugin> <groupId>com.jayway.maven.plugins.android.generation2</groupId> <artifactId>android-maven-plugin</artifactId> […]

MojoExecutionException:与Android的Maven

我正在使用Android Studio与Maven 3.1.1,并在包目标与MojoExecutionException崩溃。 我已经收获了很多post,但我无法得到解决scheme。 [错误]生成源时出错。 org.apache.maven.plugin.MojoExecutionException: at com.jayway.maven.plugins.android.phase01generatesources.GenerateSourcesMojo.generateR(GenerateSourcesMojo.java:593) at com.jayway.maven.plugins.android.phase01generatesources.GenerateSourcesMojo.execute(GenerateSourcesMojo.java:216) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) 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:317) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214) at org.apache.maven.cli.MavenCli.main(MavenCli.java:158) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) at org.codehaus.classworlds.Launcher.main(Launcher.java:46) […]

使用Maven构buildAndroid项目时出错

我正在尝试使用Maven构build我的Android项目,这样我就可以自动执行testing,但出现以下错误: D:\Projects\mtproject>mvn install [INFO] Scanning for projects… [INFO] [INFO] ———————————————————————— [INFO] Building AppScience 1.0.0 [INFO] ———————————————————————— [INFO] [INFO] — maven-android-plugin:2.8.4:generate-sources (default-generate-sources) @ appsci ence — [INFO] ANDROID-904-002: Found aidl files: Count = 3 [INFO] ANDROID-904-002: Found aidl files: Count = 0 [INFO] Copying local resource files to combined resource directory. [INFO] C:\Program Files (x86)\Android\android-sdk/platform-tools/aapt.exe [package, […]

Android库 – 使用Gradle将多个变体发布到本地Maven仓库

我正在使用Android Gradle插件0.13.2,Android Studio 0.8.11,Gradle 2.1和maven插件。 我想用一个命令(任务)将我的Android库的多个变体(flavor + build type)安装到本地Maven仓库。 目前,Android Gradle插件0.13.2允许我将publishNonDefault标志设置为发布所有变体,但是正如文档所述,它将使用与Maven Repository不兼容的分类器发布变体。 我现在的解决方法是使用defaultPublishConfig“myVariant”并更改我拥有的每个变体。 apply plugin: 'com.android.library' apply plugin: 'maven' android { defaultPublishConfig "myVariant" . . . } task installArchives(type: Upload) { repositories.mavenInstaller { configuration = configurations.getByName(Dependency.DEFAULT_CONFIGURATION) pom.groupId = "com.company" pom.artifactId = "mylibrary" pom.version = "1.0.0-myVariant" } } 我希望有一个任务能够将所有变体正确地发布到本地Maven仓库。

在Android Studio中使用Gradle从编译中排除.jar

我目前有这样的build.gradle文件中的东西。 dependencies { compile 'com.android.support:support-v4:13.0.+' compile ('com.xxx:xxx-commons:1.+') { } } 由于jUnit和hamcrest-core都存在于com.xxx:xxx maven仓库中,所以出现了这样的问题: Gradle: Origin 1: /Users/yyy/.gradle/caches/artifacts-26/filestore/junit/junit/4.11/jar/4e031bb61df09069aeb2bffb4019e7a5034a4ee0/junit-4.11.jar Gradle: Origin 2: /Users/yyy/.gradle/caches/artifacts-26/filestore/org.hamcrest/hamcrest-core/1.3/jar/42a25dc3219429f0e5d060061f71acb49bf010a0/hamcrest-core-1.3.jar Gradle: Execution failed for task ':android:packageDebug'. > Duplicate files copied in APK LICENSE.txt File 1: /Users/yyy/.gradle/caches/artifacts-26/filestore/junit/junit/4.11/jar/4e031bb61df09069aeb2bffb4019e7a5034a4ee0/junit-4.11.jar File 2: /Users/yyy/.gradle/caches/artifacts-26/filestore/junit/junit/4.11/jar/4e031bb61df09069aeb2bffb4019e7a5034a4ee0/junit-4.11.jar 因为jUnit实际上包含了hamcrest库,现在有一种方法可以实际排除jar:hamcrest-core-1.3.jar或者排除所有的.txt文件,或者从maven仓库中排除jUnit(不使用)。 任何其他的想法可能有帮助吗?

如何在eclipse中构buildMaven Android项目

我在这里testing代码: https : //github.com/nkzawa/socket.io-client.java 。 在function下有这个甜美的声音线:“Android完全支持”。 但是对于maven来说,我是完全陌生的,既不能指示也不能指示尾巴。 如何使用此代码构build基本的Androidtesting项目? 简单地添加从我的项目回购的源代码显示了很多错误。 如果有一个命令行的方式这样做也可以。