Articles of android gradle

Android Studio在更新后显示错误(缺少翻译)

最近我将我的Android Studio从2.2.3 to 2.3.0更新2.2.3 to 2.3.0项目在2.2.3中运行良好但是在将项目依赖类路径从2.2.3 to 2.3.0更新2.2.3 to 2.3.0从string.xml获取了大量的Missing Translations错误。 任何人都可以告诉我它为什么会发生以及如何解决这些错误?

Android Studio中的Gradle:无法解析第三方库

我一直在尝试将我的项目从Intellij切换到Android Studio,这需要我创建一个build.gradle文件。 我知道我可以将每个作为库依赖项添加,但我理想的是希望能够使maven存储库依赖项工作。 每次我同步时,我的支持库都会很好地同步,但对于每个第三方库,我都会得到类似的结果 “错误:(30,13)无法解决:com.facebook.android:facebook-android-sdk:3.23.1” 对于每个图书馆。 buildscript { repositories { mavenCentral() } dependencies { classpath ‘com.android.tools.build:gradle:1.1.0’ } } apply plugin: ‘com.android.application’ dependencies { compile fileTree(dir: ‘libs’, include: ‘*.jar’) // Google Play Services compile ‘com.google.android.gms:play-services:6.5.87’ // Support Libraries compile ‘com.android.support:appcompat-v7:22.0.0’ compile ‘com.android.support:cardview-v7:21.0.3’ compile ‘com.android.support:gridlayout-v7:21.0.3’ compile ‘com.android.support:mediarouter-v7:21.0.3’ compile ‘com.android.support:palette-v7:21.0.3’ compile ‘com.android.support:recyclerview-v7:21.0.3’ compile ‘com.android.support:support-annotations:21.0.3’ compile ‘com.android.support:support-v13:21.0.3’ compile ‘com.android.support:support-v4:22.0.0’ […]

Android Studio多个dex文件gradle错误

我在Android Studio中运行Android应用程序时遇到此错误 UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define Lcom/google/common/annotations/Beta; … 这是gradlew -q:app:dependencies的输出 +— project :shared +— com.google.api-client:google-api-client:1.19.0 | +— com.google.oauth-client:google-oauth-client:1.19.0 | | +— com.google.http-client:google-http-client:1.19.0 | | | +— com.google.code.findbugs:jsr305:1.3.9 | | | \— org.apache.httpcomponents:httpclient:4.0.1 | | | +— org.apache.httpcomponents:httpcore:4.0.1 | | | +— commons-logging:commons-logging:1.1.1 | | | \— commons-codec:commons-codec:1.3 | | \— com.google.code.findbugs:jsr305:1.3.9 […]

排除发布版本types的资产

我正在使用gradle构建的应用程序中导入一个android库,如下所示: dependencies { compile ‘com.example:great-lib:0.1-SNAPSHOT’ } 此库仅包含要在webview中使用的资源,js,css和图像,其布局如下: assets/ |-> great.css |-> great.min.js |-> great.min.js.map |-> js/ | |-> plop.js | |-> foo.js | … |-> img/ | … js文件夹包含源文件(与源映射一起使用)。 我想将它和.map文件包含在调试版本中,并且在发布版本中只有缩小的js,但是我找不到这样做的方法。 到目前为止,我已经尝试过: android { // this doesn’t exclude anything packageOptions { exclude ‘assets/js’ } buildTypes { release { // this does exclude the js folder, but […]

Gradle构建错误:无法访问ITest坏类文件:在版本50.0 classfile中findITest.class默认方法

我有奇怪的问题,不知道如何解决它。 我有一个默认方法的接口,如下所示: public interface ITest{ default String getText(){ return “ITest”; } } 和实现此接口的类,如下所示: public class TestClasssss implements ITest{ private String text; } 我试图在我的appunit testing项目中使用这个类。 所以,如果我在我的android的unit testing项目中复制这个类,它编译好并且所有工作都按预期工作,但是如果这个类和接口在app源文件夹中声明,应用程序不会编译并崩溃 Error:(30, 10) error: cannot access ITest bad class file: ~\ITest.class default method found in version 50.0 classfile Please remove or make sure it appears in the correct subdirectory of […]

flavorDimensions gradle错误 – Android Studio 3.0 Canary 1

我想将我的项目升级到Android Studio 3.0 Canary 1和gradle:3.0.0-alpha1插件,但是我对包含项目的flavor的正确定义存在问题。 我按照Google的官方迁移指南进行了操作: https : //developer.android.com/studio/preview/features/new-android-plugin-migration.html 在我的主应用程序build.gradle中,我按照迁移指南的建议定义了“myflavor” flavorDimensions : android { flavorDimensions “myflavor” productFlavors { dev { dimension “myflavor” minSdkVersion 21 } prod { dimension “myflavor” minSdkVersion 16 } } buildTypes { debug { signingConfig signingConfigs.debug } release { debuggable false signingConfig signingConfigs.release minifyEnabled true proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } dependencies { […]

无法在com.android.build.gradle.AppExtension_Decorated上find属性’xxxx’

我将这些行添加到gradle文件后出现此错误: buildTypes.each { it.buildConfigField ‘String’, ‘OPEN_WEATHER_MAP_API_KEY’, MyOpenWeatherMapApiKey } 然后日志显示: Could not find property ‘MyOpenWeatherMapApiKey’ on com.android.build.gradle.AppExtension_Decorated@c3b784 谷歌搜索的解决方案无法解决我的问题。 请告诉我我哪里错了?

错误:任务’:app:processDebugGoogleServices’的执行失败。 >请修复版本冲突

将我的Google Play服务更新为rev 28后,我收到此错误。 我不知道为什么会这样,因为之前工作正常。 这是我的build.gradle文件 apply plugin: ‘com.android.application’ apply plugin: ‘com.google.gms.google-services’ android { compileSdkVersion 23 buildToolsVersion ‘23.0.2’ defaultConfig { applicationId “com.matsoltech.pakistancurrentaffairs” minSdkVersion 10 targetSdkVersion 23 versionCode 11 versionName “2.1.1” } buildTypes { release { multiDexEnabled = true minifyEnabled true proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } } dependencies { compile fileTree(include: [‘*.jar’], dir: ‘libs’) compile files(‘src/main/libs/universal-image-loader-1.9.3.jar’) compile […]

错误:程序types已存在:android.arch.lifecycle.LiveData

当我按下Android Studio中的播放按钮时,我的应用程序会编译,但会显示此错误(编辑): 错误:程序types已存在:android.arch.lifecycle.LiveData (完整日志) 我尝试删除.gradle文件夹,然后转到Build > Clean Project和Build > Rebuilt Project 。 但是,它不起作用。 我也尝试删除源代码,然后再从git克隆并将文件夹导入Android Studio。 但是,它仍会产生该错误。 这是我的应用程序的app/build.gradle : apply plugin: ‘com.android.application’ android { compileSdkVersion 27 buildToolsVersion ‘27.0.3’ defaultConfig { applicationId “com.edricchan.studybuddy” minSdkVersion 24 targetSdkVersion 27 versionCode 8 versionName “1.0.0-rc.503” testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner” resConfigs “en” multiDexEnabled true } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ […]

Android Gradle – 是否仅在发布时使用拆分?

我希望“abi”使用“splits”,但仅限于发布版本。 这可能吗? 我尝试使用extvariables和variables“def”也默认设置为false。 对于releaseWithLog(和release),此variables在buildTypes中设置为true。 但是我不知道Gradle是如何工作的,因为当我将带有测试消息的writeln()添加到“debug”,“releaseWithLog”和“release”并运行build时,所有消息都在输出中,所以这确认了variables“splitsEnabled “虽然我为调试构建,但是设置为true – 我希望调试的值为”false“(因此不使用拆分进行调试)。 apply plugin: ‘com.android.application’ android { compileSdkVersion 19 buildToolsVersion ‘20.0.0’ ext { splitsEnabled = false } defaultConfig { … } buildTypes { debug { … } releaseWithLog { … splitsEnabled = true } release.initWith(releaseWithLog) release { … } } … splits { abi { println(splitsEnabled) enable splitsEnabled reset() […]