Articles of Maven

Android Crosswalk Lite – Android Studio集成

我已在Android工作室项目中成功实现了crosswalk webview项目。 基本上通过以下链接: https : //diego.org/2015/01/07/embedding-crosswalk-in-android-studio/ 熟悉实施人行横道的人都知道应用程序的大小会增加+ – 20-30 mb。 出于这个原因,我一直在尝试整合精简版的人行横道。 这是+ – 10 MB,不幸的是没有成功。 正常的人行横道项目有一个maven版本,可在https://download.01.org/crosswalk/releases/crosswalk/android/maven2/org/xwalk/xwalk_core_library/获取 Lite版本还有一个AAR版本,位于https://download.01.org/crosswalk/releases/crosswalk-lite/android/canary/,但没有POM文件,我无法在Android Studio中使用它。 现在我一直在尝试手动下载crosswalk-lite版本。 我创建了一个库项目,复制了所有相关文件,创建了gradle文件并将其包含在一个小型测试应用程序中。 到目前为止,一切似乎都没问题。 应用程序编译。 我的应用程序中可以使用XWalkView等所有类。 除了webview完全是黑色外,运行应用程序也可以。 现在我认为它与libxwalkcore.so文件有关,它不会以某种方式加载。 放置在每个可以想象的文件夹(jar,jniLibs,lib等)中。 不起作用。 任何日志都没有错误。 问题我有,如果有人已成功获得Lite版本工作在Android工作室项目。 顺便说一句。 crosswalk-lite库应用程序的gradle文件包含: dependencies { compile files(‘libs/xwalk_core_library_java_library_part.jar’) compile files(‘libs/xwalk_core_library_java_app_part.jar’) }

Gradle:仅解析所需变体的依赖关系

我有一个有三种口味的测试应用程序: dev:在开发期间使用库的本地副本 qa:在QA期间使用快照 rc:使用预发布版本进行候选发布测试。 dependencies { devCompile project(‘:library’) qaCompile ‘com.example:library:1.0.0-SNAPSHOT@aar’ rcCompile ‘com.example:library:1.0.0@aar’ } 我运行Gradle,并期望它完成所需的最少工作量来构建我想要的东西: ./gradlew :test-app:connectedAndroidTestDevDebug 但是,构建失败,因为它试图解决所有构建风格的依赖关系,而不仅仅是我正在构建的关系。 FAILURE:构建因exception而失败。 * 什么地方出了错: 配置项目’:test-app’时出现问题。 无法解析配置’:test-app:_qaDebugCompile’的所有依赖项。 找不到com.example:library1.0.0-SNAPSHOT。 Searched in the following locations: https://repo1.maven.org/maven2/com/example/library/1.0.0-SNAPSHOT/maven-metadata.xml https://repo1.maven.org/maven2/com/example/library/1.0.0-SNAPSHOT/library-1.0.0-SNAPSHOT.pom https://repo1.maven.org/maven2/com/example/library/1.0.0-SNAPSHOT/library-1.0.0-SNAPSHOT.aar http://oss.sonatype.org/content/repositories/snapshots/com/example/library/1.0.0-SNAPSHOT/maven-metadata.xml http://oss.sonatype.org/content/repositories/snapshots/com/example/library/1.0.0-SNAPSHOT/library-1.0.0-SNAPSHOT.pom http://oss.sonatype.org/content/repositories/snapshots/com/example/library/1.0.0-SNAPSHOT/library-1.0.0-SNAPSHOT.aar file:/opt/android-sdk-macosx/extras/android/m2repository/com/example/library/1.0.0-SNAPSHOT/maven-metadata.xml file:/opt/android-sdk-macosx/extras/android/m2repository/com/example/library/1.0.0-SNAPSHOT/library-1.0.0-SNAPSHOT.pom file:/opt/android-sdk-macosx/extras/android/m2repository/com/example/library/1.0.0-SNAPSHOT/library-1.0.0-SNAPSHOT.aar file:/opt/android-sdk-macosx/extras/google/m2repository/com/example/library/1.0.0-SNAPSHOT/maven-metadata.xml file:/opt/android-sdk-macosx/extras/google/m2repository/com/example/library/1.0.0-SNAPSHOT/library-1.0.0-SNAPSHOT.pom file:/opt/android-sdk-macosx/extras/google/m2repository/com/example/library/1.0.0-SNAPSHOT/library-1.0.0-SNAPSHOT.aar Required by: project-name:test-app:unspecified qa风味试图解决的SNAPSHOT还不存在,这应该没问题,因为我不想尝试建立qa风味。 如果存在SNAPSHOT构建,那么一切正常。 问题: 为什么所有构建版本的依赖项都已解决? 如何在不遇到这个问题的情况下完成一种风味的构建? 有没有更好的方法来做更多的“格拉德利”?

您上传了以调试模式签名的APK。 您需要在发布模式错误中签署APK

我正在尝试在Google Play商店上传应用程序。 我正在构建.apk并使用Maven进行签名。 我使用maven-jarsigner-plugin来签署.apk文件。 我正在使用我使用Eclipse向导创建的密钥来签署另一个Android应用程序。 我使用以下命令对.apk文件进行zipalign:zipalign [-f] [-v] infile.apk outfile.apk 当我尝试在Playstore上上传应用程序时,我收到错误您上传了一个以调试模式签名的APK。 您需要在发布模式下签署APK。 任何人都可以告诉我如何在发布模式下签署apk? 我是Maven的新手(今天开始使用它)。 谢谢

Eclipse和Android以及classpath:bin和target

我正在使用Eclipse 4.5和m2e 1.6.1.20150625-2338,ADT 23.0.3.1327240,Android for Maven Eclipse 1.1.0和23.0.6.1720515。 我有一个标记为“Is Library”的Android项目: 如果我在项目上执行Maven | Update Project … ,则会修改.classpath以包含以下内容: 但是当我构建项目时,Eclipse将该行更改为: 显然,Eclipse认为类路径应该是什么以及m2e认为它应该是什么之间存在脱节。 显然这对我的Subversion文件造成了严重破坏。 是否有一些设置可以使m2e和Eclipse在类路径上达成一致而不进行修改?

Gradle Build Error:无法从https://repo1.maven.org/maven2/io/fabric/tools/gradle/maven-metadata.xml加载Maven元数据

我在Android Studio中遇到了gradle构建错误,如下所示: Error:A problem occurred configuring project ‘:MyApp’. Could not resolve all dependencies for configuration ‘:MyApp:classpath’. Could not resolve io.fabric.tools:gradle:1.+. Required by: sw-android:MyApp:unspecified Failed to list versions for io.fabric.tools:gradle. Unable to load Maven meta-data from https://repo1.maven.org/maven2/io/fabric/tools/gradle/maven-metadata.xml. Could not GET ‘https://repo1.maven.org/maven2/io/fabric/tools/gradle/maven-metadata.xml’. peer not authenticated Failed to list versions for io.fabric.tools:gradle. Unable to load Maven meta-data from […]

Android gradle uploadArchives构建时

我有我的uploadArhives到Maven存储库.aar发布。 但我必须gradlew uploadArhives从控制台运行gradlew uploadArhives ,如何编写代码以使其与每个构建或发布版本一起调用? uploadArchives { repositories { mavenDeployer { def credentials = [ userName: NEXUS_USERNAME, password: NEXUS_PASSWORD ] repository(url: MAVEN_REPO_URL, authentication: credentials) pom.artifactId = ‘aaa’ pom.version = version pom.packaging = ‘aar’ pom.groupId = ‘bbb’ } } } 编辑 : 我认为,我们可以定义function: def uploadToMaven = { uploadArchives } 但是如何在每次构建时执行它?

Android工作室 – Gradle – GitHub Repo

有没有人知道是否可以使用github repo作为依赖关系,而不会将其发布到maven central。 假设我正在开发一个拥有它自己的github repo的android库。 我希望能够在我的android工作室项目中“编译”这个库有gradle依赖,而不必发布到maven central(至少目前)。 换句话说:我想使用不在maven central上的依赖项。 这是一个直接的github repo(一个也使用gradle的android库)。 我想我的build.gradle做这样的事情: dependencies { // Google Play Services (normal dependency) compile “com.google.android.gms:play-services:5.2.08” // The library I want to pull from github compile “path_to_my_github_repo” } 谢谢!

maven build android项目:指定aidl文件的位置

我的android项目只有aidl文件,项目结构如下: MyProject/ src/ main/ com.my.aidl/ IMyService.aidl pom.xml 我用maven构建我的android项目。 我的pom使用dexguard-maven-plugin ,它是android-maven-plugin的扩展。 在插件配置中,我明确指定了source aidl文件的目录和生成的java文件的目录。 com.saikoa.dexguard.maven dexguard-maven-plugin ${project.basedir}/src/main/com/my/aidl ${project.build.directory}/generated-sources/aidl/main/com/my/aidl true 但是在我运行mvn clean install -e我得到了以下错误跟踪: [ERROR] Failed to execute goal com.saikoa.dexguard.maven:dexguard-maven-plugin:6.1.18:generate-sources (default-generate-sources) on project MyProject: Execution default-generate-sources of goal com.saikoa.dexguard.maven:dexguard-maven-plugin:6.1.18:generate-sources failed. NullPointerException -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.saikoa.dexguard.maven:dexguard-maven-plugin:6.1.18:generate-sources (default-generate-sources) on project MyProject: Execution default-generate-sources of goal […]

Maven:在装有retrolambda-maven-plugin的应用程序中使用Java 8库,使用android-maven-plugin进行DEX-ed

我已经为我的内部使用写了一小组minilibraries。 这是使用Maven构建的。 这些库的目标是“常规”Java,GWT和Android。 其中一些是用Java 8编写的,因为我没有打算在GWT或Android上运行它们,因此其他库是用旧的Java 6编写的,以支持这两个库。 我有一个将我的库完全迁移到Java 8的计划(在语言function方面),并且我成功地在尚未发布的GWT 2.8.0上运行Java 8重写库。 但是,我无法使Java 8重写的库可以为Android应用程序进行编译。 问题是Retrolambda(retrolambda retrolambda-maven-plugin插件)似乎只能处理当前的Maven模块类,并完全忽略了依赖类。 因此, android-maven-plugin打破了目标应用程序构建: [INFO] UNEXPECTED TOP-LEVEL EXCEPTION: [INFO] com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000) [INFO] at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472) [INFO] at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406) [INFO] at com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388) [INFO] at com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251) [INFO] at com.android.dx.command.dexer.Main.processClass(Main.java:665) [INFO] at com.android.dx.command.dexer.Main.processFileBytes(Main.java:634) [INFO] at com.android.dx.command.dexer.Main.access$600(Main.java:78) [INFO] at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:572) [INFO] […]

在Android maven项目中使用Guicevalidation错误

所以我试图让Guice在我的android maven项目中运行并捆绑在第三方模块中。 它在执行测试注入的正常junittest中运行良好,但在VM上失败并且下面附带了logcat消息。 我无法理解的是,有很多关于Guice在android上工作正常的报道。 尽管如此,我的代码似乎在从Guice注入器调用getBeanInfo()时失败了。 看来我不是唯一一个有这个错误的人。 有没有解决Android错误“无法解析虚拟方法java / beans / PropertyDescriptor”? 所以我有几个问题。 是Guice不适合我的原因,因为我的第三方模块正在调用某些function,这些function会在任何地方失败但不常见? 有没有办法从Guice获得更多信息,具体是什么触发了违规的getBeanInfo()? 有工作吗? 我有什么途径可以进一步调试。 该解决方案必须与maven兼容,因为针对类似问题调整eclipse设置的类似问题的答案不适用。 得到“引起:java.lang.VerifyError:” (并不是说我在这里有很多里程)。 我认为所有相关文件都是由android maven插件由dx处理的,因为依赖:tree显示范围为“compile”的所有相关项目,但我不是这里的专家。 03-05 00:57:34.529:I / dalvikvm(2295):threadid = 3:对信号做出反应03-05:00:57:34.568:I / dalvikvm(2295):将堆栈跟踪写入’/ data / anr / traces.txt’03-05 00:57:35.059:I / dalvikvm(2295):threadid = 3:对信号做出反应3 03-05 00:57:35.098:W / nalizableReferenceQueue(2295):无法在其中加载Finalizer自己的类加载器。 而是在当前的类加载器中加载Finalizer。 因此,您将无法垃圾收集此类加载器。 要支持回收此类加载器,请解决基础问题,或将Google Collections移至系统类路径。 03-05 00:57:35.098:W / nalizableReferenceQueue(2295):java.io.FileNotFoundException:com / google / inject […]