Articles of travis ci

Travis Ci构建了由Android SDK许可协议引起的错误

我有CircleCi的经验: https://circleci.com/gh/mmirhoseini/fyber_mobile_offers/28 但我无法使用TravisCi上的相同存储库解决此许可证问题: https://travis-ci.org/mmirhoseini/fyber_mobile_offers/builds/167852390 这是travis错误日志: FAILURE:构建因exception而失败。 出了什么问题:配置项目’:fyber-app’时出现问题。 您尚未接受以下SDK组件的许可协议:[SDK Patch Applier v1,Google Repository]。 在构建项目之前,您需要接受许可协议并使用Android Studio SDK Manager完成缺少的组件的安装。 或者,要了解如何将许可协议从一个工作站转移到另一个工作站,请访问http://d.android.com/r/studio-ui/export-licenses.html 我知道这是许可证问题,但不知道如何解决它。 这是我的.travis.yml文件: language: android sudo: required android: components: – tools – platform-tools – build-tools-24.0.2 – android-24 – extra-android-m2repository licenses: – ‘android-sdk-preview-license-.+’ – ‘android-sdk-license-.+’ – ‘intel-android-extra-license.+’ jdk: – oraclejdk8 before_install: – chmod +x gradlew script: – ./gradlew build

特拉维斯CI的Retrolambda

我的travis.yml文件: language: android jdk: oraclejdk8 android: components: – build-tools-22.0.1 – android-22 – extra-android-m2repository script: – gradle build connectedCheck 它在app:compileRetrolambdaDebug期间失败app:compileRetrolambdaDebug ,错误消息Process ‘command ‘/usr/lib/jvm/java-8-oracle/bin/java” finished with non-zero exit value 1 。 可以在Travis CI上运行Retrolambda吗? 添加–debug参数后,我得到以下信息: 13:44:02.064 [INFO] [system.out] Error! Failed to transform some classes 13:44:02.073 [INFO] [system.out] java.lang.RuntimeException: java.lang.IllegalAccessException: no such method: cz.skaut.warehousemanager.fragment.ItemDetailFragment.lambda$onViewCreated$32(Bitmap)void/invokeSpecial at net.orfjackal.retrolambda.lambdas.LambdaReifier.reifyLambdaClass(LambdaReifier.java:42) at net.orfjackal.retrolambda.lambdas.BackportLambdaInvocations$InvokeDynamicInsnConverter.backportLambda(BackportLambdaInvocations.java:105) at […]

从bash中的build.gradle中读取versionName

有没有办法从Android项目的build.gradle文件中读取值versionName以在bash中使用它? 更准确地说:如何从文件中读取该值并在Travis-CI脚本中使用它? 我会用它 # ANDROID_VERSION=??? export GIT_TAG=build-$ANDROID_VERSION 我设置了一个Travis-CI,如本文https://stackoverflow.com/a/28230711/1700776中所述 。 我的build.gradle: http ://pastebin.com/uiJ0LCSk

为什么Travis CI每次下载都会下载所有内容?

我发现每次Travis CI构建项目时,都必须再次下载所有SDK包,如平台工具,支持库,当前SDK等。 是否可以避免它并使Travis重新使用它第一次下载的内容? 我可能在我的.travis.yml文件中犯了一些错误,这里是它的副本 language: android android: components: # Uncomment the lines below if you want to # use the latest revision of Android SDK Tools – platform-tools – tools # The BuildTools version used by your project – build-tools-23.0.2 # The SDK version used to compile your project – android-23 # Additional components – […]

travis-ci build使用ShellCommandUnresponsiveException继续失败

我想让travis-ci与我的android应用程序一起工作。 如果我只执行assembleDebug它工作正常。 但我也想运行测试并生成代码覆盖率。 这是我现在的配置: language: android android: components: # Uncomment the lines below if you want to # use the latest revision of Android SDK Tools – platform-tools – tools # The BuildTools version used by your project – build-tools-23.0.1 # The SDK version used to compile your project – android-23 # Additional components # […]

有没有办法只在Android Gradle项目中运行一组特定的测试?

我有一个Android / Gradle项目。 每当我想运行测试时,我运行: ./gradlew connectedInstrumentTest 它在我的项目的测试文件夹下运行我的所有测试。 我的测试文件夹有几个自动化测试以及非自动化测试。 我最感兴趣的是在没有慢速自动化测试的情况下运行快速非自动化测试。 有没有办法只运行一组特定的测试,例如从一个特定的类或类似的东西? 我基本上都在询问任何types的分离,以便我可以选择在我想要的时候运行一些测试。 在这里创建了一个示例项目。 编辑local.properties以指向您的Android SDK。 接下来,启动模拟器或将手机连接到计算机。 然后,您可以使用./gradlew connectedInstrumentTest –info运行测试。 这将运行所有测试。 我无法弄清楚的是如何只在一个类而不是所有测试中运行测试。

Android构建错误:未知的包filter

更新:可能有兴趣我也有类似的错误: “错误:在此行上忽略未知的包filter’extra-android-m2repository’”: android update sdk –filter extra-android-m2repository –no-ui –force > /dev/null 但我通过将sdk工具更新为rev来解决这个问题。 23.原始错误仍然存​​在。 我有一个在travis.ci持续集成上运行的Android构建作业。 它曾经是workefine,但最近它已经开始抛出一个错误: “错误:忽略未知的包filter’sysimg-19’” 在这条线上: echo yes | android update sdk –all –filter sysimg-19 –no-ui –force > /dev/null 然后导致android create avd命令失败: “有效的ABI:没有ABI。错误:所选目标无效–abi armeabi-v7a。” 我也尝试过没有–all标志,但它会导致相同的结果。 我想原因可能是我不知道的Android SDK中的一些变化。 有没有人提示问题可能是什么? 请参阅下面的完整travis.yml。 Travis.yml: language: java jdk: – oraclejdk7 android: components: – build-tools-19.1.0 env: matrix: – ANDROID_TARGET=android-19 ANDROID_ABI=armeabi-v7a […]

在Android上使用Travis CI

我一直在寻找适用于Android的Travis CI文档 ,因此我可以学习如何开始在我的Android库中使用Travis。 但是,我不太了解文档中说的很多内容…… 到目前为止,我理解的是: language: android # this means the project will be built in an Android environment android: components: – tools # will be built with latest version of Android SDK tools – platform-tools # ” – build-tools-23.0.1 # build tools version of my project – android-23 # Android SDK version of my […]

如何运行Travis-CI和Espresso测试

我目前设置了Travis-CI,以便在我的Android设备的每个版本上运行gradle ConnectedCheck任务并执行我的所有unit testing。 我已经能够成功地设置它。 我现在正在尝试用Espresso构建一些function测试,我目前遇到很多困难,设置Travis的方式使我的espresso测试可以与Travis的模拟器交互。 我如何设置Travis以使其模拟器的工作方式与我在本地工作站上使用的模拟器完全相同? 这是我用来构建模拟器的.travis.yml的一部分。 language: android jdk: oraclejdk7 env: matrix: – ANDROID_TARGET=android-19 ANDROID_ABI=armeabi-v7a android: components: – build-tools-20.0.0 – build-tools-19.1.0 before_script: # Create and start emulator – echo no | android create avd –force -n test -t $ANDROID_TARGET –abi $ANDROID_ABI – emulator -avd test -no-skin -no-audio -no-window & – android-wait-for-emulator – adb shell […]

Android Instrumentation测试在Travis CI AVD上失败,但在本地模拟器上工作

如果我在我的本地模拟器上运行仪器测试,它们完美地运行10次,但是当我尝试在Travis CI中的AVD上运行相同的测试时,我随机获得 FAILED java.lang.RuntimeException: Could not launch intent Intent { } within 45 seconds. Perhaps the main thread has not gone idle within a reasonable amount of time? There could be an animation or something constantly repainting the screen. Or the activity is doing network calls on creation? See the threaddump logs. For your reference […]