Questions tagged «gradle»

Gradle是使用Groovy DSL的项目构建自动化工具。Gradle构建脚本支持Maven和Ivy存储库以及用于依赖项管理的纯文件系统。

18
插件太旧,请更新到较新版本,或将环境变量ANDROID_DAILY_OVERRIDE设置为
今天,我只是从Android SDK中导入了一个示例应用程序作为项目中的模块(分析),当我尝试对其进行同步时,突然出现了gradle错误: Plugin is too old, please update to a more recent version, or set ANDROID_DAILY_OVERRIDE envrinment variable to... 这是我的应用程序gradle文件: apply plugin: 'com.android.application' android { compileSdkVersion 22 buildToolsVersion "22.0.0" defaultConfig { applicationId "xxx.xxxxxx.xxxxx" versionCode 1 versionName '1' minSdkVersion 9 targetSdkVersion 22 versionCode 1 versionName '1' } buildTypes { release { …

23
无法解析styles.xml中的符号“主题”(Android Studio)
从今天开始,Android Studio在styles.xml中找不到AppCompat主题,但是例如代码中的AppCompatActivity确实可以识别。我的Android Studio版本是2.2.2,内部版本#AI-145.3360264 我已经尝试升级到最新的构建工具,编译sdk(25)版本等,但是它没有解决问题。 目前,我已经从sdk管理器安装了以下内容: Android API:19和23 SDK平台工具:25.0.1 SDK工具:25.2.3 构建工具:23.0.2和25.0.1 支持库:40 谷歌仓库:39 和其他一些,则不必在此处列出。 应用程序的build.gradle: apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion '25.0.1' defaultConfig { applicationId "xxx.xxxxxxxx.xxxxxxxxx" //not the real applicationId minSdkVersion 14 targetSdkVersion 19 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled true shrinkResources true …

1
Gradle buildscript依赖项
buildScript在gradle构建的部分或构建的根级别中声明存储库有什么区别。 选项1: build.gradle: buildScript { repositories { mavenCentral(); } } 要么 build.gradle: repositories { mavenCentral(); }
175 build  repository  gradle 

6
在Gradle中,transitive = true到底能做什么(wrt crashlytics)?
Gradle transitive = true到底做什么?从Gradle文档中尚不清楚。这是在上下文compile中build.gradle。就我而言,我依赖于Android的crashlytics。 compile('com.crashlytics.sdk.android:crashlytics:2.2.2@aar') { transitive = true; } 一些Gradle文档(此处和此处)暗示“可传递”默认为true。然而,删除会transitive = true导致无法引入传递依赖(尤其是KitGroup)。 class file for io.fabric.sdk.android.KitGroup not found 文档说它默认为true,但实际行为似乎相反。 我正在运行Gradle 2.2.1。也许行为在2.2和2.4之间改变了? 编辑:不使用gradle为aar库解决相关的传递依存关系

30
其他各种库都在请求com.google.android.gms:play-services-measurement-base
我更新到gradle 4.0.1并开始收到以下错误 各种其他库都在[[15.0.4,15.0.4]]请求com.google.android.gms:play-services-measurement-base库,但解析为15.0.2。禁用插件,并使用./gradlew:app:dependencies检查您的依赖关系树。 我的项目不使用该依赖关系,因此我在全局范围内进行搜索,并且它仅出现在内部 build / intermediates / lint-cache / maven.google / com / google / android / gms / group-index.xml 作为这条线 <play-services-measurement-base versions="15.0.0,15.0.2"/> 因此,我尝试删除构建文件夹并清理项目,但是它使用相同的值重新生成它:/因此仍然存在错误

14
如何使用gradle在APK文件名中设置versionName?
我正在尝试在gradle自动生成的APK文件名中设置特定的版本号。 现在gradle生成了,myapp-release.apk但我希望它看起来像myapp-release-1.0.apk。 我尝试重命名似乎很杂乱的选项。有没有简单的方法可以做到这一点? buildTypes { release { signingConfig signingConfigs.release applicationVariants.each { variant -> def file = variant.outputFile variant.outputFile = new File(file.parent, file.name.replace(".apk", "-" + defaultConfig.versionName + ".apk")) } } 我没有运气尝试过上面的代码。有什么建议?(使用gradle 1.6)

18
即使设置正确,Gradle也会发现错误的JAVA_HOME
尝试运行gradle时,出现以下错误: # gradle ERROR: JAVA_HOME is set to an invalid directory: /usr/lib/jvm/default-java Please set the JAVA_HOME variable in your environment to match the location of your Java installation. 但是,当我检查JAVA_HOME变量时,我得到: # echo $JAVA_HOME /usr/lib/jvm/java-7-oracle 我的JAVA_HOME是在.bashrc中定义的,我已经仔细检查过它是否被设置为源。 运行java -version还确认JAVA_HOME设置正确并且在PATH上。 # java -version java version "1.7.0_51" Java(TM) SE Runtime Environment (build 1.7.0_51-b13) Java HotSpot(TM) …

7
向IntelliJ Project添加Gradle支持的最佳方法
我到处环顾了很多,还没有找到将现有IntelliJ项目转换为Gradle的最佳解决方案。我在团队环境中工作,我们目前共享.ipr文件,因为我们要跟踪一些构建配置。最终,我们将摆脱那些偏爱Gradle的人,但是在Gradle转换完成之前,我无法搞砸。 另外,我们的Java源文件位于src目录的根目录中,而不是标准的src / main / java。 有什么方法可以将Gradle添加到项目中,而又不会使我删除并重新创建IntelliJ项目,又不会在其他人进行Git拉动时搞砸其他人呢?

6
使用Build Flavors-构建源文件夹并正确build.gradle
请注意:答案在Xavier的答案之后进行了编辑 我正在为Android Studio中的一个相同Application项目使用不同的Build Flavors。但是,我似乎在配置它以使其正常工作方面花费了很多时间。 脚步: 创建一个新的Android Studio项目,名为“测试”。 打开build.gradle *并添加以下行: productFlavors { flavor1 { packageName 'com.android.studio.test.flavor1' } flavor2 { packageName 'com.android.studio.test.flavor2' } } 重新启动Android Studio之后,我现在在Build Variants部分下看到4个构建变体。表示到目前为止,我们已经成功设置了产品口味。** 为flavour1创建了一个新的Source文件夹;但是,我不确定我是否做对了。这是我的做法: 请记住,我为此项目的软件包名称是: com.foo.test 右键单击src文件夹,对于flavor1,我实际上在浏览器中以结构为的方式创建了各个文件夹src/flavor1/java/com/foo/test/MainActivity.java。 上面的方法运行良好,因为'java'文件夹为蓝色,这意味着IDE知道其处于活动状态的源目录。此外,该包是自动创建的。尽管如此,对于重复的类,我仍会收到警告。在这里查看截图。 对于flavour2,我尝试手动创建程序包,但flavour2的'src'文件夹似乎不是蓝色,因此右键单击时这些选项有所不同,并且'New Package'不可用。在此处查看图片。 请注意,对于flavor1,我还创建了一个“ res”目录,该目录的确变为蓝色,但是尽管如此,在我想使用其他目录的情况下,它也无法创建Android Resource文件或Andorid资源目录重新调配不同的口味。 难道我做错了什么?还是我错过了什么?让我知道您是否需要更多信息。 *我的项目似乎有两个 build.gradle文件。一个位于项目文件夹(\ GradleTest)的根目录下,此为空。第二个位于\ GradleTest子文件夹的根目录下,也称为“ GradleTest”(GradleTest-GradleTest),这是打开时已经有代码的那个。因此,那是我编辑的那个。 **我检查gradle这个设置,显然使用自动导入了已启用。尽管如此,对build.gradle文件进行更改并不会自动更新构建变体。注意:我也尝试过使用Build-Rebuild Project和/或Build-Make Project,不要忙。我仍然必须关闭项目,然后重新打开以使更改生效。

17
无法找到或加载主类org.gradle.wrapper.GradleWrapperMain
我通过删除本地目录等清洗整个项目~/.gradle,~/.m2 ~./android并~/workspace/project/.gradle和艇员选拔File -> Invalidate Caches / Restart...Android Studio中。现在,执行该命令./gradlew将导致以下输出: usr$ ./gradlew tasks Error: Could not find or load main class org.gradle.wrapper.GradleWrapperMain 不用说,我删除了太多,问题是如何再次修复?您有任何解决办法的想法吗?

4
Gradle替代MVN安装
我在mvn上有2个不同的项目。我正在尝试替换为Gradle。 项目1是SDK,项目2使用sdk(示例) 在进行Maven时,它使用mvn install创建了工件,该工件将整个项目添加到本地存储库中。 我喜欢像这样工作。我喜欢项目1 build.gradle需要将其发布为gradle本地存储库,然后示例项目需要使用它。 在maven中,我们执行mvn install,它将项目工件添加到.m2文件夹中,但是如何在gradle中执行操作,以便我可以将项目工件添加到本地存储库中。 我有办法吗?
163 maven-2  gradle 

10
在Spring Boot中从命令行设置活动配置文件和配置位置
我有一个Spring Boot应用程序。 我的应用程序中有三个配置文件-> 开发,暂存和生产。所以我有3个档案 应用程序开发 application-staging.yml application-production.yml 我的application.yml驻留在内部src/main/resources。我在application.yml中将活动配置文件设置为: spring: profiles.active: development 其他3个配置文件特定的配置文件位于C:\config文件夹中。 我正在使用gradle插件进行蚀。当我尝试执行“ bootRun ”时,我在eclipse中的gradle配置中将命令行参数设置为 -Dspring.profiles.active=staging -Dspring.config.location=C:\Config 但是,命令行属性没有得到反映,并且我的活动配置文件始终被设置为development(这是我在applications.yml文件中提到的内容)。此外,不会在C:\ Config文件夹中搜索特定于配置文件的配置文件。 我想我在这里错过了一些东西。在过去的两天里,我一直在努力解决问题。但是没有运气。我真的很感谢您的帮助。

6
停止Gradle构建的推荐方法
发现问题后如何停止Gradle构建?我可以使用断言,引发异常,执行System.exit(坏主意)或在Gradle中使用专用功能(但我找不到一个)。Gradle的最佳方法是什么(为什么?)。
162 groovy  build  gradle 

14
Gradle代理配置
我需要通过代理服务器从Gradle进行Web访问,才能对Jenkins使用Gradle / Artifactory集成。为了减少可能的问题原因,我在build.gradle中手动添加了Artifactory插件,并从命令行运行它: apply { apply from: "http://gradle.artifactoryonline.com/gradle/plugins/org/jfrog/buildinfo/build-info-extractor-gradle/1.0.1/artifactoryplugin-1.0.1.gradle" } 按照此描述,我在主目录的.gradle / gradle.properties中指定了以下内容: systemProp.http.proxyHost=hostname systemProp.http.proxyPort=8080 systemProp.http.proxyUser=de\\username systemProp.http.proxyPassword=xxx 使用上面的代理配置(已知可以正常工作),它将失败: 11:33:17.699 [ERROR] [org.gradle.BuildExceptionReporter]原因:java.io.IOException:服务器返回的HTTP响应代码:407为URL:http ://gradle.artifactoryonline.com/gradle/plugins/org/ jfrog / buildinfo / build-info-extractor-gradle / 1.0.1 / artifactoryplugin-1.0.1.gradle 我有两台代理服务器可供选择,一台始终以407(要求代理身份验证)响应,另一台始终以502(错误的网关)响应,因此显然使用了proxyHost和proxyPort选项。 由于用户名(基于Active Directory用户)包含反斜杠,因此我尝试了\\和\,但均不起作用。指定的用户不同于登录到计算机和Active Directory的用户。该用户的凭据对代理无效,因此我需要能够指定其他用户。 在Jenkins或Artifactory的GUI中设置相同的选项是可行的。

7
泽西岛停止与InjectionManagerFactory一起工作
在Tomcat 8.5.11中运行Jersey API时,出现以下错误,导致API停止: HTTP状态500-Servlet Jersey REST Service的Servlet.init()抛出异常 类型例外报告 Servlet Jersey REST Service的消息Servlet.init()抛出异常 描述服务器遇到内部错误,导致服务器无法满足此请求。 例外 javax.servlet.ServletException:用于Servlet Jersey REST Service的Servlet.init()引发了异常org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:474)org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve。 java:79)org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)org.apache.coyote.http11.Http11Processor。服务(Http11Processor.java:783)org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)org.apache.coyote.AbstractProtocol $ ConnectionHandler.process(AbstractProtocol.java:798)org.apache.tomcat.util。 net.NioEndpoint $ SocketProcessor.doRun(NioEndpoint.java:1434)org.apache.tomcat.util.net.SocketProcessorBase。运行(SocketProcessorBase.java:49)java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)org.apache.tomcat.util。 thread.TaskThread $ WrappingRunnable.run(TaskThread.java:61)java.lang.Thread.run(Thread.java:745) 根本原因 java.lang.IllegalStateException:找不到InjectionManagerFactory。org.glassfish.jersey.internal.inject.Injections.lookupInjectionManagerFactory(Injections.java:97)org.glassfish.jersey.internal.inject.Injections.createInjectionManager(Injections.java:89)org.glassfish.jersey.server.ApplicationHandler。 (ApplicationHandler.java:282)org.glassfish.jersey.servlet.WebComponent。(WebComponent.java:335)org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:178)org.glassfish.jersey.servlet。 ServletContainer.init(ServletContainer.java:370)javax.servlet.GenericServlet.init(GenericServlet.java:158)org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:474)org.apache.catalina.valves。 ErrorReportValve.invoke(ErrorReportValve.java:79)org.apache.catalina.valves。 应用程序使用以下gradle依赖项进行构建: dependencies { compile ( // REST "org.glassfish.jersey.containers:jersey-container-servlet:2.+", "javax.servlet:javax.servlet-api:4.+", // REST Token "org.bitbucket.b_c:jose4j:0.+", // MongoDB "org.hibernate.ogm:hibernate-ogm-bom:5.+", …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.