Articles of gradle

Gradle在自定义任务中执行命令行

在我的gradle文件中,我定义了以下任务: task text_example << { //?!? commandLine '' println 'Fam Flinstone' } 我想把这个任务放在一些命令行里面。 我怎样才能做到这一点 ? 我正在使用库来自动发布在谷歌播放。 我的项目是基于产品味道,我需要通过命令行传递terminal命令行为我的每一个口味。 所以我想通过test_example任务中的所有命令行。

google()和maven {url'https://maven.google.com'}之间的区别

build.gradle文件中的google()和maven {url'https://maven.google.com')是否有区别,如果有的话,是什么? allprojects { repositories { jcenter() maven { url 'https://maven.google.com' } // OR google() } }

Gradle Android依赖产品风格

我想知道是否有一个根项目的方式来定义/注入它的依赖项中的一些属性。 更具体地说,我遇到的问题是,一个库项目必须知道在运行组装/编译任务之前是否需要“自由”或“专业”Java源和其他资源。 有点像为库项目指定产品风格(从父项目inheritance而来),但Android插件不支持Gradle。 改变图书馆项目结构,即创build“自由”和“专业”库不是一个选项。 编辑:到目前为止我已经达到的最好的是这样的: root: build.gradle android { … productFlavors { free, pro } sourceSets { free { project(':..:lib') { groupFreePro = 'free' // java.srcDirs = ['src', 'free/src'] } } pro { project(':..:lib') { groupFreePro = 'pro' // java.srcDirs = ['src', 'pro/src'] } } … } } 库: gradle.build android { … sourceSets { […]

如何修复错误运行./gradlew检查connectedCheck,更新后AndroidStudio 0.4.0?

AndroidStudio更新之后,我在包装器中将gradle更新为1.9 ,并在build.gradle的依赖关系中更新为0.7.+ 。 从那以后,运行时遇到这个错误./gradlew检查connectedCheck FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:lint'. > Lint found errors with abortOnError=true; aborting build. 编辑 Gradle控制台也显示这些消息: Ran lint on variant release: 69 issues found Ran lint on variant debug: 69 issues found Wrote XML report to <PROJECT>/app/build/lint-results.xml Wrote HTML report to <PROJECT>/app/build/lint-results.html […]

使用gradle创build属性文件

我想用gradle创build一个名为“dev.properties”的属性文件。 这是我的build.gradle代码: buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.8.+' } } apply plugin: 'android' repositories { mavenCentral() } android { compileSdkVersion 16 buildToolsVersion "19.0.0" defaultConfig { minSdkVersion 16 targetSdkVersion 16 } def prop = new Properties() def propFile = new File("dev.properties"); propFile.createNewFile(); prop.store(propFile.newWriter(), null); buildTypes { release { runProguard false proguardFile getDefaultProguardFile('proguard-android.txt') […]

如何解决proguard警告'找不到引用的方法'现有的方法'clone'和'finalize'类java.lang.Object

我尝试压缩一个消耗ical4j.jar的Android应用程序。 当我用proguard使用gradle proguardDebug生成apk apk 警告:net.fortuna.ical4j.model.CalendarFactory:无法在库类java.lang.Object中find引用的方法'void finalize()' finalize()另外6个类似的警告 警告:net.fortuna.ical4j.model.CalendarFactory:无法在库类java.lang.Object中find引用的方法'java.lang.Object clone()' 另外6个类似的警告clone() 我已经validation了android-7支持finalize()和clone() :“… \ Android … \ sdk \ platforms \ android-7 \ android.jar” java.lang.Object 。 你有什么想法如何解决这个问题? 注意:这不是其他“proguard找不到引用的方法”问题的重复,因为在我的具体情况下,我认为应该在那里丢失的方法。 我在用 proguard-4.11与 gradle产出1.11 Groovy:1.8.6 Ant:2013年7月8日编译的Apache Ant(TM)1.9.2版 常春藤:2.2.0 JVM:1.7.0_25(甲骨文公司23.25-b01) 操作系统:Windows 7 6.1 amd64 ical4j.jar 1.0.5 这是proguardconfigurationproguard-rules.txt ,可能需要一些修复: # proguard-rules.txt ## ical4j also contains groovy code which is not used […]

将SVN迁移到Android Studio

我将我的Android项目从Eclipse迁移到Android Studio。 我使用Subversion,想知道如何将我的SVN迁移到Android Studio中使用的新文件结构,而不会丢失我的历史logging。 谢谢你的帮助!

可以圈选CI参考gradle.properties凭据?

我为Android项目设置了Circle CI构build,并且想知道如何将gradle.properties文件添加到我的项目构build中。 我使用本地的gradle.properties来存储我的API密钥和敏感数据。 其他的CI工具(例如Jenkins)允许你上传一个gradle.properties文件在所有版本中使用,但是我无法在Circle CI中find这样做的方法。 似乎环境variables是Circle CI允许您将秘密凭据添加到项目的唯一方法。 有没有一种方法可以在Circle CI构build中使用来自gradle.properties的凭据?

AndroidStudio Gradle:如何configurationbuildTypes,并检查构build时的哪个buildType?

我如何检查一下buildType是否可以在我的build.gradle中debugging? 我想做一些事情: if(debug) { file.write("xxxxx") } 在我的build.gradle 另外,如何从AndroidStudio构builddebugging版本的buildType? 我不是说从命令行input./gradlew assembleRelease或assembleDebug ,我是指从IDE本身按下播放button。 这可能吗? 我有我的android块configuration为这样的buildType: buildTypes { release { signingConfig signingConfigs.storeSign defaultConfig { versionCode 1100 versionName "1.1.00" } } debug { defaultConfig { versionCode 1201 versionName "1.2.01" } } }

如何禁用已弃用Androidfunction的特定Lint警告?

我使用版本切换来支持较旧的Android版本。 int sdk = Build.VERSION.SDK_INT; if (sdk < Build.VERSION_CODES.HONEYCOMB) { ColorDrawable colorDrawable = new ColorDrawable(shapeColor); //noinspection deprecation viewHolder.shape.setBackgroundDrawable(colorDrawable); } else { viewHolder.shape.setColor(shapeColor); } 当从命令行使用Gradle构build项目时,Lint会输出以下警告: app/src/main/java/com/example/MyApp/CustomListAdapter.java:92: warning: [deprecation] setBackgroundDrawable(Drawable) in View has been deprecated viewHolder.shape.setBackgroundDrawable(colorDrawable); ^ 我可以注释特定的线或方法来使警告静音(因为我故意这样做)? 我不想禁用所有的警告。