Articles of gradle

generatedDensities已弃用

从不同配置的矢量绘制生成png图像(API低于21)…我正在使用AndroidStudio2.0 preview5和gradle:2.0.0-alpha5 … 在build.gradle- defaultConfig { … //generate drawables from vectors generatedDensities = [‘hdpi’,’xxhdpi’] } generatedDensities显示为IDE 已弃用 。 实施它的新方法是什么?

如何使用Gradle将Android配置注入每个子项目?

而不是在每个子项目中复制android配置块: android { compileSdkVersion 19 buildToolsVersion “19.0.0” defaultConfig { minSdkVersion 9 targetSdkVersion 14 } } 我宁愿把它放在顶级/根gradle构建文件中,如: subprojects{ android { compileSdkVersion 19 buildToolsVersion “19.0.0” defaultConfig { minSdkVersion 9 targetSdkVersion 14 } } } 但是,这不起作用。 🙁 错误:“..无法find参数的方法android()……”

在Android Studio中生成签名APK

在Stackoverflow中有一些与我的问题相关的问题,例如: 如何在Android工作室中导出项目? 如何使用Gradle创建发布签名的apk文件 他们很好。 但仍让我感到困惑。 当我在Android Studio中选择Build-> Generate signed APK时,我收到了以下警告消息: 这是什么意思? 这是否意味着我必须通过配置build.gradle来使用gradle命令行? 然后是什么向导? 如果我只是忽略警告,单击确定并按照向导生成apk文件,当我将apk上传到Google Play时,我会收到错误消息,说明apk处于调试模式。 如果我按照说明设置build.gradle,如下所示: signingConfigs { debug { storeFile file(“debug.keystore”) } release { storeFile file(“../key/test.keystore”) storePassword “password” keyAlias “key” keyPassword “password” } } buildTypes { release { debuggable false signingConfig signingConfigs.release } } 当我在终端运行./gradlew assembleRelease时,一切都是文件。 总之,我很困惑: 如果我必须设置build.gradle,那么“生成签名APK”向导的目的是什么 当我运行“生成签名APK”时,如何在发布模式下构建我的应用程序 谢谢你的任何建议。

如何针对已弃用的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构建项目时,Lint会输出以下警告: app/src/main/java/com/example/MyApp/CustomListAdapter.java:92: warning: [deprecation] setBackgroundDrawable(Drawable) in View has been deprecated viewHolder.shape.setBackgroundDrawable(colorDrawable); ^ 我可以注释特定的行或方法来静音警告(因为我是故意这样做的)吗? 我不想禁用所有警告。

无法设置SDK:错误:模块’app’:平台’Google Inc.:Google API:21’未find

Failed to set up SDK: Error:Module ‘app’: platform ‘Google Inc.:Google APIs:21’ not found. 完全失去了为什么这不起作用。 尝试将我的SDK更新到23,但意识到我还没有准备好处理所有新的弃用等,所以我在Mercurial上恢复了旧版本。 我完全没有其他任何东西,而且回归应该已经解决了一切。 不幸的是,我无法连接我的应用程序并构建它。 我甚至从头开始重新安装Android Studio,但我仍然收到相同的警告,我的应用程序根本无法构建。 什么可能出错? 这是我的构建gradle: apply plugin: ‘com.android.application’ android { compileSdkVersion ‘Google Inc.:Google APIs:21’ buildToolsVersion ‘21.1.2’ defaultConfig { applicationId “com.elgami.customizer” minSdkVersion 14 targetSdkVersion 21 } buildTypes { release { minifyEnabled false //runProguard false //proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.txt’ } } } […]

不推荐使用配置’compile’,但所有配置都是’implementation’

我在android中执行gradle时收到以下警告: Configuration ‘compile’ in project ‘:app’ is deprecated. 但是我的所有依赖项都包含在实现配置中。 (还有模块)gradle中是否存在“不可见”的依赖关系? 这是我的主要构建gradle文件: https ://pastebin.com/ZJe7zrwn

将eclipse项目导出为gradle

我一直在尝试将我的eclipse项目导出为gradle构建文件,以便与Android Studio一起使用,但我似乎无法使其正常工作。 当我点击“完成”时没有任何反应。 如果我反复点击它,我会看到一个显示毫秒然后消失的进度条。 我的ADT是版本22.3(这是最新的),我已经尝试了我在谷歌上find的所有解决方案。 类似的问题可以在这里find:Android项目的Eclipse Gradle导出什么都不做无法从Eclipse生成gradle.build文件 正如您所看到的,这个问题并没有真正可靠的解决方案,但人们写道他们是手动创建的。 我不知道该怎么做。 我还没有听说过这个问题的解决方案吗? 如果没有,我该如何手动创建文件?

使用Joda Time时,无法生成带有proguard的签名APK

我试图建立一个签名的APK。 我也在使用proguard 。 在我的应用程序中,我将JodaTime用于某些目的。 我在那里使用了joda-time-2.7.jar 。 首先我可以在没有启用proguard的情况下获得签名的APK,没有错误。 然后我启用了proguard并尝试生成APK但我生成了错误。 以下是生成的错误。 Warning:org.joda.time.LocalDateTime: can’t find referenced class org.joda.convert.ToString Warning:org.joda.time.LocalTime: can’t find referenced class org.joda.convert.FromString Warning:org.joda.time.LocalTime: can’t find referenced class org.joda.convert.ToString Warning:org.joda.time.Minutes: can’t find referenced class org.joda.convert.FromString Warning:org.joda.time.Minutes: can’t find referenced class org.joda.convert.ToString Warning:org.joda.time.MonthDay: can’t find referenced class org.joda.convert.FromString Warning:org.joda.time.MonthDay: can’t find referenced class org.joda.convert.ToString Warning:org.joda.time.Months: can’t find referenced […]

Android Studio的Crashlytics构建错误

我正在尝试将CrashLytics与Android Studio和gradle一起使用但是我得到一个令人困惑的错误java.lang.NoSuchMethodError: 我的build.gradle是: buildscript { repositories { mavenCentral() maven { url ‘http://download.crashlytics.com/maven’ } } dependencies { classpath ‘com.android.tools.build:gradle:0.5.+’ classpath ‘com.crashlytics.tools.gradle:crashlytics-gradle:1.+’ } } apply plugin: ‘android’ apply plugin: ‘crashlytics’ repositories { mavenCentral() maven { url ‘http://download.crashlytics.com/maven’ } } android { buildToolsVersion “18.0.1” compileSdkVersion 18 //… } dependencies { compile ‘com.android.support:appcompat-v7:18.0.+’ compile ‘com.google.android.gms:play-services:3.2.25’ compile ‘com.crashlytics.android:crashlytics:1.+’ //compile ‘com.newrelic.agent.android:android-agent:2.426.0’ […]

Gradle混合版本27.1.1和26.1.0

我在我的应用程序级build.gradle中出现错误,在我使用的第一个支持库上,它告诉我所有com.android.support库必须使用完全相同的版本规范,并且它find了版本27.1.1和26.0.2。 在我的app级build.gradle中,没有使用26.1.0的行。 此外,所有compile语句都已更改为implementation , compileSdkVersion为27, targetSdkVersion为27.要尝试查找罪魁祸首,我运行: ./gradlew -q dependencies app:dependencies –configuration debugAndroidTestCompileClasspath 并获得以下输出: registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection) registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection) ———————————————————— Root project ———————————————————— No configurations ———————————————————— Project :app ———————————————————— debugAndroidTestCompileClasspath – Resolved configuration for compilation for variant: debugAndroidTest +— com.android.support.test:runner:1.0.1 | +— com.android.support:support-annotations:25.4.0 -> 27.1.1 | +— junit:junit:4.12 | | \— […]