Articles of gradle

Dokka – 跳过生成默认android包的javadoc

我正在尝试使用Dokka插件为Android Kotlin应用程序生成Javadoc。 我将插件添加到我的gradle中: classpath “org.jetbrains.dokka:dokka-gradle-plugin:0.9.15” 然后我按照项目说明进行了基本配置: dokka { outputFormat = ‘javadoc’ outputDirectory = “$rootDir/docs” skipEmptyPackages = true noStdlibLink = true } 我使用基本的gradle命令生成文档: [user@linux AppDir]$ bash gradlew dokka 输出很好,但它包括我添加到项目中的android或插件的多个目录,例如: android.R android.support com.google com.crashlytics . . . etc. 我如何跳过这些包裹? 有没有办法只为我的/ app / scr / java文件夹和我创建的文件生成dock? 任何帮助表示赞赏。

Android Studio模拟器错误 – 以非零退出值2结束

所以我有一个应用程序,我一直在开发/测试一下,并没有任何问题,将它加载到我的手机上进行调试。 有一天不知从哪里开始投掷和错误,不会再让我运行模拟器了。 错误如下: * What went wrong: Execution failed for task ‘:app:dexDebug’. com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程’命令’C:\ Program Files \ Java \ jdk1.7.0_75 \ bin \ java.exe”以非完成零退出值2 gradle控制台输出以下错误: AGPBI: {“kind”:”SIMPLE”,”text”:”UNEXPECTED TOP-LEVEL EXCEPTION:”,”position”: {},”original”:”UNEXPECTED TOP-LEVEL EXCEPTION:”} AGPBI: {“kind”:”SIMPLE”,”text”:”com.android.dex.DexException: Multiple dex files define Lbolts/AggregateException;”,”position”: {},”original”:”com.android.dex.DexException: Multiple dex files define Lbolts/AggregateException;”} AGPBI: {“kind”:”SIMPLE”,”text”:”\tat com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)”,”position” :{},”original”:”\tat com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)”} AGPBI: {“kind”:”SIMPLE”,”text”:”\tat com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)”,”position”: {},”original”:”\tat com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)”} AGPBI: […]

Android Studio:将复杂的build.xml迁移到build.gradle

我已成功将我的项目从eclipse迁移到android studio,并生成了一个默认的build.gradle文件。 项目构建正确,我可以部署到调试等。 真正的问题是构建发布APK文件(从命令行)我曾经有一个自定义的ant-build(通过命令行调用,而不是eclipse)。 我的自定义build.xml通过以下方式从SDK文件夹导入标准sdk build.xml文件: 所以我在build.xml中所做的就是覆盖目标或通过“depends”挂钩它们。 覆盖的示例: </target 以及添加依赖项的示例: </target 总的来说整个事件使用ant非常简单。 但是现在谈到迁移到gradle我完全失去了,如何完成我之前在ant中所做的那样,具体来说: 对于build.xml,我在ant build中导入了一个默认的build.xml – 某个地方是否存在标准的build.gradle文件,以便查看已定义的任务? 是否可以覆盖gradle任务,如果是,如何? 我非常肯定来自ant的depends =“……”可以在gradle中模仿,但我不知道怎么样,这也需要回答问题1。 我搜索了一堆教程,还有迁移教程(很遗憾没有解决我的问题): http://keepsafe-engineering.tumblr.com/post/87818767721/migrating-android-app-from-ant-to-gradle http://ryanharter.com/blog/2013/07/17/migrating-android-projects-to-gradle/ 我还从gradle文档中读到了本章,这些文档根本没有帮助,因为它没有回答问题1或2或3: http://www.gradle.org/docs/current/userguide/ant.html 以下给出了一些有趣的指示: http://toastdroid.com/2014/03/28/customizing-your-build-with-gradle/ 我还尝试将sdk文件夹中的默认build.xml复制到我自己的build.xml中,然后简单地在gradle中导入该ant构建文件并执行构建踢的ant任务: 但我开始遇到问题,这表明这不再是一个选项,因为默认的build.xml开始抛出错误,这似乎与SDK版本有关。 由于新的android studio项目结构,我不得不使用原始的sdk build.xml乱用很多,所以文件不是他们预期的地方等等……

在Linux centos平台上使用Jenkins和Gradle构建Android应用程序时出错

我已经将我的构建过程Android工作室与Jenkins和Gradle集成在一起。当我在Jenkins上运行构建时,错误即将到来::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::: : 00:04:56.154 [DEBUG] [org.gradle.configuration.project.BuildScriptProcessor] Timing: Running the build script took 1.587 secs 00:04:56.164 [INFO] [org.gradle.api.Project] Parsing the SDK, no caching allowed 00:04:56.373 [INFO] [org.gradle.api.Project] Parsing legacy package: /opt/androidsdk/android-sdk-linux/tools 00:04:56.414 [INFO] [org.gradle.api.Project] File not found while marshalling /opt/androidsdk/android-sdk-linux/tools/package.xml. Probably the SDK is read-only 00:04:56.415 [INFO] [org.gradle.api.Project] Parsing legacy package: /opt/androidsdk/android-sdk-linux/platform-tools 00:04:56.416 [INFO] [org.gradle.api.Project] File […]

本机崩溃导致随机测试失败

我在模拟器上对我的应用程序运行espresso测试套件。 我看到跟随logcat输出的随机崩溃: 06-26 08:58:51.129 info WebViewFactory Loading com.android.webview version 44.0.2403.119 (code 246011960) 06-26 08:58:51.136 warn System ClassLoader referenced unknown path: /system/app/webview/lib/x86 06-26 08:58:51.139 info LibraryLoader Time to load native libraries: 1 ms (timestamps 9447-9448) 06-26 08:58:51.139 info LibraryLoader Expected native library version number “”,actual native library version number “” 06-26 08:58:51.145 warn art Attempt to […]

如何配置gradle使用logback-classic仅适用于Android中的unit testing?

我有一个Android应用程序thich使用slf4j + logback。 Gradle文件如下所示: … compile(‘com.github.tony19:logback-android-core:1.1.1-6’) { exclude group: ‘ch.qos.logback.core.net’ } compile(‘com.github.tony19:logback-android-classic:1.1.1-6’) { exclude group: ‘ch.qos.logback.core.net’ } compile ‘org.slf4j:slf4j-api:1.7.25’ 我在assets /中有logback.xml。 当我按预期运行应用程序日志记录工作时。 最近我决定添加新的unit testing(常规,而不是androidunit testing),但我看到日志消息没有显示。 我在gragle文件中添加了以下内容: testCompile(‘ch.qos.logback:logback-classic:1.2.3’) { exclude group: ‘com.github.tony19’ } 现在显示日志消息,但在unit testing的每次运行中,我收到此警告: SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/home/o/.gradle/caches/modules-2/files-2.1/ch.qos.logback/logback-classic/1.2.3/7c4f3c474fb2c041d8028740440937705ebb473a/logback-classic-1.2.3.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/home/o/.gradle/caches/modules-2/files-2.1/com.github.tony19/logback-android-classic/1.1.1-6/614c66c9ece69eef48c65a8558de4fd7266d9f69/logback-android-classic-1.1.1-6.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for […]

应用程序无法在启用了即时运行的gradle 2.14.1的新Android Studio 2.2上执行

我刚安装了较新的Android Studio 2.2,在构建项目时遇到了麻烦: Error:Execution failed for task ‘:app:processDebugAndroidTestResources’. java.io.FileNotFoundException: [path_to_project]/app/build/intermediates/symbols/androidTest/debug/R.txt (No such file or directory) 我正在使用gradle版本2.14.1(因为这个版本的IDE迫使我使用它)。 如果我禁用即时运行一切正常,但突然失去这个function是一种耻辱。 有帮助吗? 编辑: 我尝试了以下但错误仍然发生: 清理项目。 将项目作为外部源重新导入Android Studio。

Android Studio / gradle动态apk名称不同步

我希望在每个版本中使用日期/时间(yyMMddHHmm)动态命名APK。 我已完成此操作并且gradle构建并正确命名APK,但Android Studio无法获取正确的名称以尝试推送到设备。 关于这个主题有一个问题,有一些好的信息,确认问题,并且在每次构建之前需要手动同步。 当Gradle具有自定义逻辑更改APK名称时,Android Studio会将无菌APK上传到设备 完整的图片是我的build.gradle android { compileSdkVersion 22 buildToolsVersion “22.0.1” // grab the date/time to use for versionCode and file naming def date = new Date(); def clientBuildDate = date.format(‘yyMMddHHmm’) // for all client files, set the APK name applicationVariants.all { variant -> variant.outputs.each { output -> output.outputFile = new File(output.outputFile.parent, “myapp-” […]

Android Studio 2.2 Gradle更新失败

新的Android Studio问我有关Gradle插件更新的信息 但是当我按下“更新”按钮时它失败了。 无法更新Android Gradle插件的版本 如何解决这个问题?

如何在Android中创建可重用的活动?

我已经在移动应用程序上工作了几个月。 现在我想开发其他应用程序,但重用我编写的代码。 我希望有可重用的代码(活动),以便在许多项目中使用。 通过这种方式,如果其中一个中存在一些错误,我将修复该错误,然后将更改应用于使用我的库的所有项目。 简而言之,我想知道使用Android Studio为Android开发自己的库的最佳方法是什么。 我一直在研究,但我找不到有用的东西。 在Eclipse中,我可以创建一个项目并使其成为一个库。 然后,在新项目中,我创建了对该库的引用。 我想知道用Android Studio实现类似function的最佳方法是什么。 是否可以将自己的库添加到gradle中? 生成jar并将其添加到我的项目中的build.gradle是一个好习惯吗? 如果您正在考虑使用Android库模块(Android Studio),我如何在许多项目中使用它? 你有其他选择吗?