Articles of android gradle

如何在库模块中添加.aar依赖?

我有一个库模块的.aar文件。 我想在其他项目的库模块中将它用作库或依赖项。 我该怎么做? 我尝试了以下链接提供的选项: http://kevinpelgrims.com/blog/2014/05/18/reference-a-local-aar-in-your-android-project/ 它只有在我的项目的应用程序模块中添加.aar引用时才有效。 但不在图书馆模块中工作。 谢谢。

无法解决Android Studio新项目中的com.android.support:appcompat-v7:26.1.0

我知道这个问题: 无法解决:com.android.support:cardview-v7:26.0.0 android 无法解析com.android.support:appcompat-v7:26.1.0 [重复] 我读过这些文件: 迁移到Gradle 3.0.0的Android插件 迁移到Android 8.0 所以我发布这个问题,认为它不是重复的。 我安装了Android Studio 3.0.1。 之前我没有任何以前的版本,我开始了一个新项目。 Gradle文件中的每个设置都是由Android Studio自己设置的,我已经全部检查过了。 这些是文件内容: build.gradle(模块:app) apply plugin: ‘com.android.application’ android { compileSdkVersion 26 defaultConfig { applicationId “com.example.administrator.as301test” minSdkVersion 16 targetSdkVersion 26 versionCode 1 versionName “1.0” testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner” } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } } dependencies { […]

Gradle build:任务执行失败’:app:lint’

我正在使用Android Studio 2.0,当发生奇怪的事情时,我正试图运行我的程序。 我运行了gradle的build命令,我收到了这个错误: FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ‘:app:lint’. > Lint found errors in the project; aborting build. Fix the issues identified by lint, or add the following to your build script to proceed with errors: … android { lintOptions { abortOnError false } } […]

Android Gradle在非调试版本上运行测试

我有一个包含三种不同构建types的项目:debug,beta和release。 我的测试包总是为调试版本创建,但QA使用beta版本,我们希望QA在其大量设备上运行这些测试。 我正在尝试为QA创建一个测试apk,它由与beta版本相同的密钥签名。 通过Android-Gradle文档,我没有看到任何告诉我我不能这样做的东西,但我没有看到配置它。 无论如何我可以配置组装测试apk时使用哪个密钥库? 或者有没有办法创建一个未签名的测试apk?

Gradle:assembleDebug在加载应用程序之前需要一些时间

我昨天从Eclipse迁移到Android Studio 5.x. 这真好。 然而,当我运行应用程序来编译并将其安装到我的手机中时,它需要比eclipse更多的时间。 我点击运行,它开始制作应用程序。 任务说: Grandle: Executing tasks [:mypackage:assembleDebug] 。 完成后,称Grandle invocation completed successfully in x min x sec 。 然后加载它。 问题是它有时可能只需要20秒,但其他时间只需2-3分钟。 哪个是烦人的等待时间 。 这次执行是否必须在每次编译之前始终运行? 我可以关闭它还是缩短它的时间? 如果这个问题不准确,我很抱歉,但我不熟悉爷爷如何在AS中完全运作。

Gradle:添加依赖项的优点/缺点

在build.gradle添加依赖项的一些优点/缺点是build.gradle ,而不是将它们添加为依赖库? dependencies { compile project(‘:library’) … compile ‘com.stackoverflow.android:some-great-library:1.0’ … } 在开发Android项目的过程中,我经常遇到一些很棒的库,它们都是我一直在寻找的精确解决方案。 但是,正如我所需要的只是这些特定库所提供的内容的一小部分,我担心如果将它们添加为Gradle dependencies是一种过度杀伤力 。 根据@ CommonsWare的评论,我有更具体的问题。 是否添加依赖项: 以明显的速度减慢编译时间? 增加release-apk和debug-apk的大小,增加依赖的大小?

Gradle构建工具找不到play-services-tasks.aar? 为什么?

今天突然,当我试图在Android工作室中运行我的应用程序时出现错误。 它是: Error: Could not find play-services-tasks.aar (com.google.android.gms:play-services-tasks:15.0.1). Searched in the following locations: https://jcenter.bintray.com/com/google/android/gms/play-services-tasks/15.0.1/play-services-tasks-15.0.1.aar 我没有更改gradle文件中的任何内容,但突然出现了。 我的上一个版本在几分钟前成功执行。 为什么它找不到play-services-tasks.aar这是com.google.android.gms的一部分:play-services-tasks:15.0.1 采取的步骤: 我检查了我是否在gradle文件中包含了所有存储库,到目前为止所有存储库都是正确的。 为什么这个错误会突然发生? 我还将此链接https://jcenter.bintray.com/com/google/android/gms/play-services-tasks/15.0.1/play-services-tasks-15.0.1.aar复制到浏览器中,但它正在运行很好,就是我得到了“文件下载”对话框。 我的Gradle文件 应用级别 apply plugin: ‘com.android.application’ android { compileSdkVersion 26 buildToolsVersion “26.0.2” defaultConfig { applicationId “mekanic24assistantapplication.heba.mekanic24.com.mekanic24assistantapplication” minSdkVersion 14 targetSdkVersion 26 versionCode 13 versionName “2.1” testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner” multiDexEnabled true } buildTypes { release { minifyEnabled false […]

“Hello world”Android应用程序,文件尽可能少,没有IDE,只有文本编辑器

在我使用的几乎所有语言(Python,C,C ++等)中, 只能用文本编辑器编写“hello world”应用程序,并从命令行(解释语言)或编译/构建运行它它来自命令行(编译语言),例如cl.exe helloworld1.cpp 。 另一方面,每次我使用Android应用程序时,我都需要使用Android Studio(在我的机器上运行缓慢),使用IDE创建新项目等。 问题: 生成.apk Android应用程序的极简主义Java源代码文件/项目文件的最小数量是多少? 如何从命令行构建它? (而且永远不必打开IDE) 注意:我已经阅读了许多Android的hello world,但所有这些都涉及到使用IDE。 NB2:我正在寻找用Java编写的标准应用程序,而不是Kivy等解决方案。 NB3:即使IDE可能更方便编程Android应用程序,我也没有看到编译/构建大量文件的任何技术原因绝对需要使用GUI进行IDE /编程。 有些人(像我一样)只喜欢命令行和文本编辑器,这样一个无IDE的解决方案会有所帮助。 NB4:我在Windows平台上工作,我已经根据这个答案开始了一个“没有IDE的Hello World”github repo ,但是我有一些问题,比如这个问题。 另一方面,那里使用的方法似乎已被弃用……

ClassCastException:NoClassDefFoundError无法强制转换为RuntimeException

我正在努力将我的代码库升级到Gradle 2.2和Android Studio 1.0。 我目前正试图让Robolectric 2.4工作,但是当我尝试运行unit testing时,我遇到了一个奇怪的问题。 只有在gradle clean后才会出现问题; 多次运行测试套件将产生通过测试(如预期的那样)。 当我在干净后运行测试时,我收到以下错误: java.lang.ClassCastException: java.lang.NoClassDefFoundError cannot be cast to java.lang.RuntimeException 我已经将错误追溯到此调用: Activity activity = Robolectric.setupActivity(MainActivity.class); 我是否使用Robolectric gradle插件( org.robolectric:robolectric-gradle-plugin:0.14.0 )或JC和K Androidunit testing插件( com.github.jcandksolutions.gradle:android-unit-test:2.1.1 )。 我在Robolectric Github上发现了这个问题,但它看起来还没有得到解决: https : //github.com/robolectric/robolectric/issues/1385 这个问题也在android studiounit testing插件中引用,在’Trouble Shooting’下: https : //github.com/evant/android-studio-unit-test-plugin 我目前的示例代码在这里: https : //github.com/KioKrofovitch/robolectric-upgrade-test 我已经能够在Robolectric样本上运行api-android-16项目而不会看到这个问题,尽管api-android-19和api-android-21项目由于其他原因而失败。 我看不出他们做了什么不同的事情,这样他们就不会失败。 https://github.com/robolectric/robolectric-samples 有人find了解决方法吗? 对Jenkins或Travis等CI工具进行两次运行测试并不是一个好的解决方法。 编辑:嵌入代码示例 我的顶级build.gradle,我添加了JC和K Unit测试库: […]

Google Play“原生平台”显示了commons-io-2.4.jar

我刚刚遇到一个非常奇怪的问题,我的应用程序的构建,通过Google Play的测试版渠道分发,拒绝部署到任何设备。 谷歌的一些调查和一些帮助表明问题是这样的,当深入了解Google Play控制台中的APK详情时: 有什么可能导致这种情况? 这是我在build.gradle中指定依赖build.gradle : compile ‘org.apache.directory.studio:org.apache.commons.io:2.4’ APK就是这样构建的: gradle clean gradle assembleMarketRelease market是其中一种产品口味。 该应用程序安装并在侧载时运行正常。 我通过删除该依赖项来解决该问题,并自行重新实现缺少的function,现在正在按预期部署应用程序。 但我想了解潜在的问题。 我是否错误地指定了依赖项? 我做错了吗? 相关 : Google Play开发者控制台在上传的Apk的“原生平台”部分中显示DS_Store