Questions tagged «android-gradle-plugin»

Android Gradle插件是Android的标准构建系统。它被Android Studio用作后备构建系统。


30
Android Studio:将jar添加为库?
我正在尝试使用新的Android Studio,但似乎无法正常工作。 我正在使用Gson库对JSON对象进行序列化/反序列化。但是该库不包含在构建中。 我仅使用MainActivity创建了一个新项目。在/ libs文件夹中复制gson-2.2.3.jar,并将其添加为库依赖项(右键单击->添加为库)。这包括android studio中的jar,因此可以从源文件中引用它。 当我尝试运行项目时,它无法编译,因此我添加了: compile files('libs/gson-2.2.3.jar') .gradle文件中的依赖项。之后,它可以正确编译,但是在运行应用程序时出现错误消息ClassDefNotFoundException。 有人知道我在做什么错吗?


11
compileSdkVersion和targetSdkVersion有什么区别?
我看过使用Gradle进行构建的文档,但是我仍然不确定compileSdkVersion和之间的区别targetSdkVersion。 它只说: 该compileSdkVersion属性指定编译目标。 那么,什么是“编译目标”? 我看到两种可能的解释方法: compileSdkVersion是用于构建应用程序的编译器版本,targetSdkVersion而是“应用程序定位的API级别”。(如果是这种情况,我认为compileSdkVersion必须大于或等于targetSdkVersion?? 他们是同一回事。“编译目标” ==“应用程序目标的API级别” 还有吗 我看到这个问题以前曾有人问过,但一个答案只是引用了doc,这对我来说还不清楚。

30
如何使用Gradle创建发布签名的apk文件?
我想使用Gradle构建Gradle版本以创建发布签名的apk文件。 我不确定代码是否正确或执行时是否缺少参数gradle build? 这是我的gradle文件中的一些代码: android { ... signingConfigs { release { storeFile file("release.keystore") storePassword "******" keyAlias "******" keyPassword "******" } } } gradle构建成功完成,在我的build/apk文件夹中,我仅看到...-release-unsigned.apk和...-debug-unaligned.apk文件。 关于如何解决这个问题的任何建议?

5
找不到Gradle DSL方法:“ runProguard”
从上一个项目进行更新后出现错误。在我的代码中这不是问题,但是我在build.gradle上遇到了麻烦。我该如何解决? build.gradle代码在这里: apply plugin: 'android' android { compileSdkVersion 21 buildToolsVersion '20.0.0' packagingOptions { exclude 'META-INF/DEPENDENCIES' exclude 'META-INF/LICENSE' exclude 'META-INF/LICENSE.txt' exclude 'META-INF/license.txt' exclude 'META-INF/NOTICE' exclude 'META-INF/NOTICE.txt' exclude 'META-INF/notice.txt' exclude 'META-INF/ASL2.0' } defaultConfig { applicationId 'com.xxx.axxx' minSdkVersion 14 targetSdkVersion 19 versionCode 6 versionName '1.0' } buildTypes { release { runProguard false proguardFiles …

30
自动接受所有SDK许可
由于gradle android插件2.2-alpha4: Gradle将尝试下载项目依赖的缺少的SDK软件包 这真是太酷了,被认为是一个JakeWharton项目。 但是,要下载SDK库,您需要:接受许可协议或gradle告诉您: 您尚未接受以下SDK组件的许可协议:[Android SDK Build-Tools 24,Android SDK Platform 24]。在构建项目之前,您需要接受许可协议并使用Android Studio SDK Manager完成缺少组件的安装。或者,要了解如何将许可协议从一个工作站转移到另一个工作站,请访问 http://d.android.com/r/studio-ui/export-licenses.html 这是一个问题,因为我希望在执行时安装所有sdk依赖项gradle build。 我正在寻找一种自动接受所有许可证的解决方案。也许是gradle脚本?你有什么想法 ? 谢谢! [编辑] 一个解决方案是执行: android update sdk --no-ui --filter build-tools-24.0.0,android-24,extra-android-m2repository 并手动安装它,但这是gradle的新功能。 [编辑2] 更好的解决方案是使用sdkmananger: yes | sdkmanager --licenses


9
是否可以在Gradle中声明一个可在Java中使用的变量?
是否可以在Gradle中声明一个可在Java中使用的变量?基本上,我想在build.gradle中声明一些var,然后在构建时(显然)获取它。就像C / C ++中的预处理器宏一样... 声明的示例可能是这样的...: android { debug { A_VAR_RETRIEVABLE_IN_JAVA = 42 } release { A_VAR_RETRIEVABLE_IN_JAVA = 42+52 } } 有没有办法做这样的事情?

20
如何使用新的Gradle Android Build System手动包含外部aar包
我一直在尝试使用新的android构建系统,但遇到了一个小问题。我已经编译了自己的ActionBarSherlock的aar包,我将其称为“ actionbarsherlock.aar”。我想做的实际上是使用此Aar构建最终的APK。如果我使用编译项目(':actionbarsherlock')将整个ActionBarSherlock库作为一个android-library模块包含到我的主项目中,则可以成功构建,而不会出现任何问题。 但是我的问题是我想以手动方式将依赖项作为aar文件包提供,就好像我要使用JAR一样,我似乎也无法弄清楚如何将其正确地包含到我的项目中。我试图使用编译配置,但这似乎不起作用。我一直在编译过程中找不到符号,这告诉我aar包中的classes.jar没有包含在类路径中。 有谁知道手动将aar包作为文件包含的语法? build.gradle buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.4' } } apply plugin: 'android' repositories { mavenCentral() } dependencies { compile files('libs/actionbarsherlock.aar') } android { compileSdkVersion 15 buildToolsVersion "17.0" } 编辑:所以答案是当前不支持,如果您要跟踪它,这就是问题。 编辑:当前,因为仍不直接支持,最好的替代方法似乎是@RanWakshlak提出的解决方案 编辑:通过使用@VipulShah建议的语法也更简单

23
HttpClient不会导入Android Studio
我有一个用Android Studio编写的简单类: package com.mysite.myapp; import org.apache.http.client.HttpClient; public class Whatever { public void headBangingAgainstTheWallExample () { HttpClient client = new DefaultHttpClient(); } } 从这我得到以下编译时错误: Cannot resolve symbol HttpClient HttpClientAndroid Studio SDK中不包括吗?即使不是,我也将其添加到Gradle构建中,如下所示: dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:23.0.0' compile 'org.apache.httpcomponents:httpclient:4.5' } 有无最后一条编译行,错误是相同的。我想念什么?

21
API'variant.getExternalNativeBuildTasks()'已过时,并已替换为'variant.getExternalNativeBuildProviders()
使用带有gradle插件版本的Android Studio 3.3 Canary 11 3.3.0-alpha11。尝试同步gradle时抛出以下错误 WARNING: API 'variant.getExternalNativeBuildTasks()' is obsolete and has been replaced with 'variant.getExternalNativeBuildProviders()'. It will be removed at the end of 2019. For more information, see https://d.android.com/r/tools/task-configuration- avoidance Affected Modules: app 单击错误将我引导至gradle文件中的这一行 applicationVariants.all { variant -> variant.outputs.all { outputFileName = "${variant.name}-${variant.versionName}.apk" } } 我到底需要在这里更改什么? 项目 build.gradle …

20
Android Gradle插件0.7.0:“在打包APK期间复制文件”
通过以下方式使用Android Gradle插件0.7.0 build.gradle: buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.7.0' } } apply plugin: 'android' repositories { maven { url "https://android-rome-feed-reader.googlecode.com/svn/maven2/releases" } maven { url "http://dl.bintray.com/populov/maven" } mavenCentral() } android { compileSdkVersion 19 buildToolsVersion '18.1.1' defaultConfig { minSdkVersion 9 targetSdkVersion 19 } buildTypes { release { runProguard …

12
当前版本的Android Gradle插件不支持按需配置
升级到Android Studio 3.1.2后,出现以下错误: 当前版本的Android Gradle插件不支持按需配置,因为您使用的是Gradle 4.6或更高版本。建议:通过在gradle.properties文件中设置org.gradle.configureondemand = false来禁用按需配置,或者使用低于4.6的Gradle版本。 我尝试遵循该建议,但这不能解决问题。有任何想法吗?非常感谢所有帮助,谢谢。

21
错误:(1,0)找不到ID为'com.android.application'的插件
这是我第一次尝试Android Studio。我安装了0.8.0并更新为0.8.2。创建项目后,我立即收到错误消息: 错误:(1,0)找不到ID为'com.android.application'的插件 C:\ Users \ Bob \ AndroidStudioProjects \ HelloAgain6 \ app \ build.gradle apply plugin: 'com.android.application' android { compileSdkVersion 20 buildToolsVersion "20.0.0" defaultConfig { applicationId "com.example.bob.helloagain6" minSdkVersion 15 targetSdkVersion 20 versionCode 1 versionName "1.0" } buildTypes { release { runProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.