Articles of android gradle

找不到参数的方法classpath()

我得到这个错误,而在我的build.gradle依赖项中添加"com.google.gms:google-services:3.0.0"这个脚本。

如何configuration构buildtypes与产品口味?

基于这个答案https://stackoverflow.com/a/27908019/5156317我有一个后续问题:是什么让一个应用程序不同,说产品口味? 我试图比较这与我的XCode设置,如下所示: 使用testing后端的开发应用程序 开发应用程序使用生产后端 使用testing后端的testing应用程序(企业分布) testing应用程序,使用生产后端(企业分布 使用后期制作的Live App(应用程序商店分发) 我的想法为Android设置: buildTypes:debug_test debug_production //不需要企业应用程序,因为在任何设备版本上都可能是未签名的应用程序 口味:myApp 感谢您的支持!

由于强迫使用android SDK构build工具25.0.0 SDK构build工具版本(23.0.3)对于项目来说太低

嗨,我面临生成版本问题。 当我运行该应用程序,它会引发一个错误, 错误:对于项目“:Yampp”,SDK构build工具修订版(23.0.3)太低。 最低要求是25.0.0 我需要使用23.0.3,但它迫使使用25.0.0。 如何解决这个奇怪的问题? 这里是Gradle文件 build.gradle模块 buildscript { repositories { maven { url 'https://maven.fabric.io/public' } } dependencies { classpath 'io.fabric.tools:gradle:1.+' } } apply plugin: 'com.android.application' apply plugin: 'io.fabric' android { compileSdkVersion 23 buildToolsVersion "23.0.3" useLibrary 'org.apache.http.legacy' defaultConfig { applicationId "com.Yampp" minSdkVersion 14 targetSdkVersion 23 compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } } buildTypes […]

在API <21更新build.gradle后,停止使用向量绘图工作项目

我有工作项目。 minSdkVersion 17 com.android.tools.build:gradle:2.3.3 gradle 4.1 Android Studio 3 Canary 6 我在我的gradle文件中: defaultConfig { vectorDrawables.useSupportLibrary = true vectorDrawables.generatedDensities = [] } 我也打电话给: AppCompatDelegate.setCompatVectorFromResourcesEnabled(true) 应用程序完美运作 现在转到: com.android.tools.build:gradle:3.0.0-alpha6 添加到存储库google()行 执行gradle clean assembleDebug 。 应用程序继续在API> 20的设备上工作。但对于API <21(谷歌Android模拟器)崩溃启动应用程序。 我看到在logcat错误: Resources$NotFoundException: Resource ID #0x7f080058 (0x7f080058是可绘制的abc_vector_test)。 为什么? UPD 2017-07-19 :它被修复并发布在com.android.tools.build:gradle:3.0.0-alpha7

Android Studio 3.0 beta2

当我build立我的项目时,我得到了以下错误: 错误:com.android.builder.merge.DuplicateRelativeFileException:发现多个文件与操作系统无关的path“META-INF / app_debug.kotlin_module” 这里是我的build.gradle文件 buildscript { repositories { maven { url 'https://maven.fabric.io/public' } google() } dependencies { classpath 'io.fabric.tools:gradle:1.+' } } apply plugin: 'com.android.application' apply plugin: 'io.fabric' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' android { compileSdkVersion 26 buildToolsVersion "26.0.1" defaultConfig { applicationId "com.e9innovation.infrastructure" multiDexEnabled true minSdkVersion 19 targetSdkVersion 26 versionCode 1 versionName "1.0" testInstrumentationRunner […]

运行AspectJ会导致NoSuchMethodError:Aspect.aspectOf

我有一个非常简单的AspectJ方面(使用@AspectJ),只是打印出一条日志消息。 我的目标是在我的Android应用程序通知代码。 现在这个方面工作得很好,只要我的应用程序源代码中有方面类本身。 一旦我将该方面移动到不同的模块(java-> .jar或android lib – > .aar),在运行我的应用程序中的代码时,出现以下运行时exception : java.lang.NoSuchMethodError: com.xxx.xxx.TraceAspect.aspectOf 基本上我的结构是这样的: Root + app (com.android.application) – MainActivity (with annotation to be adviced) + library (android-library) – TraceAspect (aspect definition) 从ajc编译器,我可以看到,ajc编译器拿起我的类,并build议他们正确的,所以我真的不知道为什么它工作,只要我在我的源代码中的@AspectJ类,但一旦我移动停止工作它到一个jar文件。 我正在使用gradle。 Buildscript为我的应用程序是非常简单的。 我遵循http://fernandocejas.com/2014/08/03/aspect-oriented-programming-in-android/中的说明 import com.android.build.gradle.LibraryPlugin import org.aspectj.bridge.IMessage import org.aspectj.bridge.MessageHandler import org.aspectj.tools.ajc.Main buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.12.+' classpath 'org.aspectj:aspectjtools:1.8.1' […]

如何更新android studio中的插件?

差不多一个星期后我跑了我的android项目,我得到了这个消息: 插件太旧,请更新到更新的版本,或将ANDROID_DAILY_OVERRIDE环境variables设置为“a8faa180fc282060c9b8ec88f9bdcc9072121284” 我如何更新我的插件? 我正在使用Android Studio 2.0。 这是我的build.gradle项目文件 // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.0.0-alpha1' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { […]

Gradle中基于构build变体的不同drawable

我在我的gradle文件中有两个口味:flavor1和flavor2。 与构buildtypes一起,它们创build以下构build变体: flavor1-debug flavor1-release flavor2-debug flavor2-debug 假设我想为每个变体有一个不同的drawable,我应该把它放在哪里? 我的文件夹结构是 src |__ main |__ flavor1 |__ flavor2 |__ debug |__ release 我知道,据此 所有资源(Android资源和资产)都使用覆盖优先级,其中构buildtypes覆盖产品风味,覆盖主源代码集。 这意味着如果我把它放在Build Type文件夹中,那么debugging变体将具有相同的debugging可绘制,并且发布变体将具有相同的可释放drawable。 我想我可以从一开始就创build更具体的口味,比如flavor1release,flavor1debug,flavor2release,flavor2debug,但是我最终会得到8个变体。 根据这一点 ,我可能不会构build一些构buildtypes,但这似乎不是很干净。

如何在另一个库中包含Android库模块?

我正在构build一个Android库,打包成一个aar并分发给第三方开发者。 结构非常简单: 项目— libraryA — libraryB libraryA需要libraryB,这就是为什么在它的gradle文件中有这个: compile project(':libraryB') 和settings.gradle有 include ':libraryB', ':libraryA' 但是,如果我把这个项目build成一个aar,它只包含libraryA。 我错过了什么? 我读了这个回应: Android Studio如何从多个库项目打包单个AAR? 这是不可能的? 我会假设把你的代码分成多个模块是不是不好的做法?

proguard-android.txt和proguard-rules.pro有什么区别? – Android

在我的buildType我看到这样的: buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } 我有一些问题: 为什么有两个文件? 他们有什么区别? 我应该在哪里写规则? 谢谢