Articles of gradle

声纳:我如何使用gradle来检查android项目

我已经尝试了一段时间,让声纳检查和分析我的android项目。 但到目前为止没有运气。 我试图在声纳中实现的项目是一个测试项目,有两个类和一些测试方法。 所有这些都塞在项目的src目录中。 所以这就是我到目前为止所做的。 具有以下设置的build.gradle文件: buildscript { repositories { mavenCentral() } dependencies { classpath ‘com.android.tools.build:gradle:0.6.+’ } } apply plugin: ‘android’ apply plugin: ‘sonar’ apply plugin: “sonar-runner” android { buildToolsVersion “18.0.1” compileSdkVersion 18 defaultConfig { minSdkVersion 14 targetSdkVersion 16 } sourceSets { main { manifest.srcFile ‘AndroidManifest.xml’ java.srcDirs = [‘com.example.GradleAndroidTest’] resources.srcDirs = [‘src’] renderscript.srcDirs = [‘src’] […]

使用带有Gradle的Android上的Jackson 2.2.x的NoClassDefFoundError

对于我的Android项目,我将Gradle与Jackson 2.2.x设置如下: // build.gradle buildscript { repositories { mavenCentral() } dependencies { classpath ‘com.android.tools.build:gradle:0.6.+’ } } apply plugin: ‘android’ repositories { mavenCentral() } android { compileSdkVersion 18 buildToolsVersion “18.1.0” defaultConfig { minSdkVersion 8 targetSdkVersion 18 } } dependencies { compile ‘com.android.support:appcompat-v7:18.0.0’ compile ‘com.android.support:support-v4:18.0.0’ compile ‘com.google.android.gms:play-services:3.1.36’ compile ‘com.fasterxml.jackson.core:jackson-databind:2.2.+’ compile ‘com.fasterxml.jackson.core:jackson-core:2.2.+’ compile ‘com.fasterxml.jackson.core:jackson-annotations:2.2.+’ } 我只是在这里使用ObjectMapper : import […]

Android Gradle依赖于分叉的GitHub项目

我已将第三方自定义ListView库插入到我的Android Gradle项目中。 我最初将项目添加为jcenter repo的gradle库依赖项。 但现在我分叉了GitHub项目,我正在对它进行更改。 原始项目不再维护,因此提交拉取请求不起作用,我真的需要自己的fork。 使用Gradle设置此依赖关系的好方法是什么? 我想把ListView库放在与我的项目相同的GitHub仓库下,但这看起来很乱,我确实想把我的fork作为一个单独的库。 我想到的另一件事是在同一级别检查它们,并在我的Gradle配置中使用“..”从我的应用程序进入库。 这意味着如果我有一个合作者(我可能很快),他们要么需要调整配置以适应它们,要么像我一样检查事情。 或者我可以发布像mavenCentral或jcenter这样的回购,但我还在努力,所以听起来也不好。 我缺少一个更清洁的选择吗?

在gradle上:3.0.0在操作系统独立路径’META-INF / ASL2.0’中find了多个文件

我已将Android工作室更新为3.0,然后他要求升级到’com.android.tools.build:gradle:3.0.0′ 一切顺利,直到我决定运行我的项目,它给了我这个错误 Error:Execution failed for task ‘:app:transformResourcesWithMergeJavaResForDebug’. 使用OS独立路径’META-INF / ASL2.0’find多个文件 我的应用程序gradle android { compileSdkVersion 26 buildToolsVersion “26.0.2” useLibrary ‘org.apache.http.legacy’ defaultConfig { applicationId “com.test.demo” 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’ } } }’ 我的图书馆学习 android { compileSdkVersion 26 buildToolsVersion “26.0.2” useLibrary ‘org.apache.http.legacy’ […]

如何使用Gradle将aar文件发布到Apache Archiva

我试图将生成的我的android库的aar文件发布到我的Apache Archiva Maven服务器,但是我还没设法让它工作,因为这些示例已经过时或者它们是用于java而不是用于android 在注意到gradle示例的大多数方法都被弃用之后,我发现了这个新文档: Gradle文档 其中介绍了如何使用新的API,似乎将uploadArchives替换为发布等等…. 所以这就是我到目前为止所得到的: apply plugin: ‘com.android.library’ apply plugin: ‘maven’ apply plugin: ‘maven-publish’ android { compileSdkVersion 21 buildToolsVersion “21.1.2” defaultConfig { applicationId “com.mycompany.mylibrary” minSdkVersion 9 targetSdkVersion 21 versionCode 1 versionName “1.0” } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } lintOptions { abortOnError false } } dependencies { compile […]

Android gradle:版本周围的方括号是什么意思?

在Facebook Android sdk的入门指南中,他们定义了两种向项目添加依赖项的方法。 在“入门”部分中,gradle中的行是 compile ‘com.facebook.android:facebook-android-sdk:4.+’ 但在快速入门指南中,该行是 compile ‘com.facebook.android:facebook-android-sdk:[4,5)’ 此外,Android Studio警告您不应在版本号中使用“+”,从而导致无法重复的构建。 我已经看到了其他依赖项的“+”,我相信这意味着在同步gradle时获取最新版本,但方括号和括号在第二行中的含义是什么?

gradle构建Javadoc任务失败,出现’unknown tag:attr’

我正在尝试使用gradle从命令行构建android-autofittextview项目。 但是,每次出现以下错误都会失败: /Users/me/android-autofittextview/library/src/main/java/me/grantland/widget/AutofitHelper.java:384: error: unknown tag: attr * @attr ref android.R.styleable#TextView_textSize 在各种文件中重复此错误十几次。 这发生在:library:androidJavadocs 我尝试使用这种方法将其关闭,但是当我稍后尝试将其作为一个库项目时,我会得到一个“未知任务”exception。 当使用@attr标志时,如何使用Gradle正确构建javadoc?

Android Studio最佳方式从其他存储库导入模块

我必须将一个项目从Github存储库导入为Android Studio项目中的一个模块,并将其提交到另一个存储库中。 我必须从Github导入的项目将不断更新,这意味着我必须不时刷新,以便对模块进行最新的更改。 由于新模块作为基础项目将具有独立开发,这是导入模块的最佳方式? 我应该检查Android Studio文件夹中的Github存储库吗? 谢谢

Android Gradle代码覆盖率

我有一个简单的android项目与测试用例。 ProjNameProject –build.gradle –ProjName —-build.gradle 我看到默认情况下,android的新构建系统默认提供基本的测试结果。 (万岁!) 现在我想看看代码覆盖率。 我知道如何使用Emma和Ant脚本进行设置,但是我不想在这里运行Ant脚本。 我觉得这会破坏我使用新构建系统的目的。 我尝试过在Github上find的一些Cobertura插件。 特别是: https : //github.com/stevesaliman/gradle-cobertura-plugin 但是,如果我尝试在ProjName构建文件中使用插件,那么我会收到有关java插件的错误。 我在tools.android.com上读到,添加java插件会产生这种行为。 我没有应用它,所以cobertura插件必须。 如果我尝试在主构建文件中使用插件,那么我没有看到java错误,但现在我看到: Could not find net.sourceforge.cobertura:cobertura:1.9.4.1. Required by: :ProjNameProject:unspecified 我该怎么办??

断点没有在Android Studio中受到影响

我使用的是Windows 7,最近从Eclipse切换到了Android Studio。 我现在无法调试。 运行Android Studio 0.8.6,我设置了一个完全默认的安装,我使用新项目向导创建了一个默认的空项目,目标是ICS SDK。 然后我在onCreate中放置一个断点,单击调试按钮并运行。 附加调试器,因为我可以在调试器窗口中看到消息“连接到目标VM”。 我知道代码正在执行,因为我正在更新UI中的一些文本来显示这一点。 我曾尝试在许多地方设置断点,但没有一个被击中。 我把头发拉到这里因为我看不出我做错了什么。 我是新手,因此我认为gradle中可能存在一些我应该更改的设置,但是使用向导构建的绝对标准项目肯定会让我遇到断点? 我注意到的一件事是在我的build.gradle文件中没有提到调试版本,只提供了一个版本。 我想知道这可能是问题吗? buildTypes { release { runProguard false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } 注意。 我在我自己的设备和模拟器上都尝试过这个 更新: 我更改了View Breakpoints选项中的设置以打开“Java Exception Breakpoints”,但仅用于未捕获的exception。 然后,在onCreate结束时,我故意造成NullPointerException。 当我现在在调试中运行时,我仍然没有点击我的实际代码并且看不到源代码中的代码中断,但程序确实暂停。 我知道这是我的NullPointerException导致这种情况,因为当我删除它时,我可以看到代码继续并且不会中断。 在我的代码中断调试窗口时,我在“主”线程中,在一个名为“performLaunchActivity”的函数中。 我看不到比这更多的信息了。 因此,我可能正在通过调用performLaunchActivity的任何级别的代码进行调试,但我的源代码被视为无法单步执行它?