Articles of gradle

appcompat-v7:27.1.1与play-services的冲突:11.0.1

我正在开发一款新应用。 目前我正在尝试添加依赖项。 implementation ‘com.google.android.gms:play-services:11.0.1′ 当我这样做时,我在实现’com.android.support:appcompat-v7:27.1.1’上得到一个gradle编译错误说: 所有com.android.support库必须使用完全相同的版本规范(混合版本可能导致运行时崩溃)。 发现版本27.1.1,26.1.0。 示例包括com.android.support:animated-vector-drawable:27.1.1和com.android.support:mediarouter-v7:26.1.0 任何想法如何最好地解决这个问题? Gradle文件 apply plugin: ‘com.android.application’ android { compileSdkVersion 27 defaultConfig { applicationId “com.example.boulbabazitouni.getdevicelocation_time” minSdkVersion 21 targetSdkVersion 27 versionCode 1 versionName “1.0” testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner” } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } } dependencies { implementation fileTree(include: [‘*.jar’], dir: ‘libs’) implementation ‘com.android.support:appcompat-v7:27.1.1’ implementation ‘com.android.support:support-vector-drawable:27.1.1’ […]

转换Android项目以使用Gradle Script Kotlin

我想使用Gradle Script Kotlin将我的Android项目中的build.gradle文件从Groovy转换为Kotlin 。 我喜欢Kotlin中的所有这些,但如果有一些限制,那么尽可能多。 让我们假设我只有一个空项目,刚从Android Studio“新应用程序”模板创建( minSdkVersion 15 ,如果重要的话,使用AppCompat)。 我需要采取哪些步骤才能将此项目转换为Gradle Script Kotlin。 我希望这对我(以及其他所有人)来说应该是一个很好的起点,我可以自己处理转换任何自定义逻辑。

logcat警告`下的未知元素:meta-data`是什么意思?

在运行一个新安装的应用程序时,我在logcat中find此Warning消息: W/PackageManager( 1233): Couldn’t remove dex file for package: at location /data/app/xx.yy.zz-1/base.apk, retcode=-1 I/SmartHeartBeat( 1233): listenAppUpdate, package: xx.yy.zz has been Updated W/PackageParser( 2909): Unknown element under : meta-data at /storage/emulated/0/xxx/zz.apk Binary XML file line #143 尝试跟踪有问题的meta-data元素标记的Binary XML file line #143 ,我发现以下内容: # aapt l -a zz.apk AndroidManifest.xml META-INF/CERT.RSA META-INF/CERT.SF META-INF/MANIFEST.MF … Android manifest: N: android=http://schemas.android.com/apk/res/android […]

与美元符号的Gradle错误

对不起我的英语不好。 我正在尝试使用Gradle支持在Android Studio中创建一个新项目,但我无法正确构建我的项目。 有一个代码: Gradle ‘SportManager’ project refresh failed: Cause: startup failed: initialization script ‘C:\Users\ponomarev\AppData\Local\Temp\ijinit6732759991667918700.gradle’: 33: illegal string body character after dollar sign; solution: either escape a literal dollar sign “\$5” or bracket the value expression “${5}” @ line 33, column 20. String[] paths = [“/LOGGER-2/c$/Program Files/android-studio/plugins/gradle/lib/gradle-tooling-extension.jar”,”/LOGGER-2/c$/Program Files/android-studio/plugins/gradle/lib/gradle-tooling-extension-v1.9.jar”,”/LOGGER-2/c$/Program Files/android-studio/plugins/gradle/lib/gradle-tooling-extension-v1.11.jar”,”/LOGGER-2/c$/Program Files/android-studio/plugins/gradle/lib/gradle-tooling-extension-v1.12.jar”] ^ 1 error “LOGGER-2”是网络中的计算机名称。 我看到Gradle不理解以下expression式中的文字美元符号$:“/ […]

无法解决:com.google.android.material:material:1.0.0-alpha1

所以我按照官方文档将Material Components库添加到我的项目https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md 但它引发了以下错误“无法解决:com.google.android.material:material:1.0.0-alpha1” 我已经尝试安装Android Studio建议无效的存储库和同步项目。 我的项目配置 buildscript { repositories { google() jcenter() } dependencies { classpath ‘com.android.tools.build:gradle:3.1.2’ // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files classpath ‘com.google.gms:google-services:3.2.1’ } } allprojects { repositories { google() jcenter() maven { url “https://maven.google.com” } } task clean(type: Delete) { […]

配置特定的gradle风味组合

我想知道是否可以为特定的风味组组合提供文件或配置设置。 例如,我有2个风味组,每组有2种不同的风味: 风味组:版本 V2 V3 风味组:types 自由 充分 订购“types”,“版本”时,我可以构建我的应用程序的4种不同风格: FreeV2 FreeV3 FullV2 FullV3 我的源代码树看起来像这样: /src /free /res /full /res /v2 /java /res AndroidManifest.xml (features and permissions for v2 flavors) /v3 /java /res AndroidManifest.xml (features and permissions for v3 flavors) 这正是我想要的,并且对我的项目非常有效。 但是,我希望我能为特定的风味组合组合提供文件。 例如,我想为FullV3和FullV2提供不同的AndroidManifest。 我不认为这是可能的,或者? 例如: /src /free /res /full /res /v2 /java /res AndroidManifest.xml (features and […]

“implementation deps.support.app_compat”中的“deps”是什么?

我正在查看google示例中的新架构组件,在那里我find了如下代码: dependencies { // Support libraries implementation deps.support.app_compat implementation deps.support.v4 implementation deps.support.design implementation deps.support.cardview // Architecture components implementation deps.lifecycle.runtime implementation deps.lifecycle.extensions annotationProcessor deps.lifecycle.compiler implementation deps.room.runtime annotationProcessor deps.room.compiler // Android Testing Support Library’s runner and rules androidTestImplementation deps.atsl.runner androidTestImplementation deps.atsl.rules androidTestImplementation deps.room.testing androidTestImplementation deps.arch_core.testing // Espresso UI Testing androidTestImplementation deps.espresso.core androidTestImplementation deps.espresso.contrib androidTestImplementation deps.espresso.intents // Resolve […]

找不到参数的方法release()

我刚刚将我的项目更新为Android Gradle插件0.9.0,并且在尝试运行我的项目时出现以下错误: FAILURE: Build failed with an exception. * Where: Build file ‘C:\…\facebookSDK\build.gradle’ line: 12 * What went wrong: A problem occurred evaluating project ‘:facebookSDK’. > Could not find method release() for arguments [build_3ug2bdgu6mi6jljp3krac916n3$_run_closure1_closure4@e1bf3ff] on project ‘:facebookSDK’. * Try: Run with –stacktrace option to get the stack trace. Run with –info or –debug option to […]

具有Roboguice依赖性的Gradle和多个项目

我正在尝试迁移旧的IntelliJ项目以使用gradle。 但是,在dx步骤期间,assembleDebug失败: java.lang.IllegalArgumentException: already added: Lcom/google/inject/AbstractModule; at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123) at com.android.dx.dex.file.DexFile.add(DexFile.java:163) at com.android.dx.command.dexer.Main.processClass(Main.java:490) at com.android.dx.command.dexer.Main.processFileBytes(Main.java:459) at com.android.dx.command.dexer.Main.access$400(Main.java:67) at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:398) at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:245) at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:131) at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:109) at com.android.dx.command.dexer.Main.processOne(Main.java:422) at com.android.dx.command.dexer.Main.processAllFiles(Main.java:333) at com.android.dx.command.dexer.Main.run(Main.java:209) at com.android.dx.command.dexer.Main.main(Main.java:174) at com.android.dx.command.Main.main(Main.java:91) 我的项目分为两个子项目:主项目和图书馆项目。 这两个项目都将Roboguice和Guice作为依赖项。 我尝试了Xav建议的解决方法,将支持库包含在本答案中提到的多个项目中。 鉴于roboguice / guice都是从maven中心拾取的,因此甚至可能不需要解决方法。 我创建了一个虚拟库项目,这是唯一依赖roboguice / guice的项目。 我做到了这一点,以便我的主项目和(真正的)图书馆项目都依赖于这个虚拟项目。 但是,我得到了同样的错误。 怎么解决这个问题? 根目录中的settings.gradle : include ‘MainApp’ include ‘library’ include ‘common-library’ 根目录中的build.gradle […]

错误:项目使用的是不受支持的Android Gradle插件版本(0.12.2)

更新Android Studio后我无法运行我的应用程序 – 我得到此exception: Error:The project is using an unsupported version of the Android Gradle plug-in (0.12.2). The recommended version is 1.0.0-rc4. 这是我的buld.gradle依赖项 dependencies { classpath ‘com.android.tools.build:gradle:0.12.+’ classpath ‘com.crashlytics.tools.gradle:crashlytics-gradle:1.+’ } 更新我在build.gradle中更改了,现在我收到此错误: Error:(42, 0) Gradle DSL method not found: ‘runProguard()’ Possible causes: The project ‘drivernotes-android’ may be using a version of Gradle that does not contain […]