使用 Jenkins 构建 Android 项目时出现问题(未找到任务)
Posted
技术标签:
【中文标题】使用 Jenkins 构建 Android 项目时出现问题(未找到任务)【英文标题】:Problems building Android project with Jenkins (task not found) 【发布时间】:2020-03-03 11:14:53 【问题描述】:我在 ubuntu 上使用 jenkins 构建 android 时遇到问题。 应用程序 build.gradle 包含调试和发布。 当我尝试使用 gradlew assembleDebug 或 assembleRelease 构建时,我得到“task not foundTask 'assembleRelease' not found in root project 'My Application'”(而不是清理和组装工作正常)
如果我尝试在 jenkis 工作区文件夹上手动 gradlew assembleDebug,则会出现同样的错误,但我可以在我克隆了 repo 的笔记本电脑上进行构建。
Build.gradle 包含调试和发布:
buildTypes
debug
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
release
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android- optimize.txt'), 'proguard-rules.pro'
这是文件夹 ls -latr:
drwxr-xr-x 4 jenkins jenkins 4096 Nov 6 22:31 ..
drwxr-xr-x 3 jenkins jenkins 4096 Nov 6 22:31 .idea
-rw-r--r-- 1 jenkins jenkins 222 Nov 6 22:31 .gitignore
- rw-r--r-- 1 jenkins jenkins 1184 Nov 6 22:31 gradle.properties
drwxr-xr-x 3 jenkins jenkins 4096 Nov 6 22:31 gradle
-rw-r--r-- 1 jenkins jenkins 689 Nov 6 22:31 build.gradle
-rw-r--r-- 1 jenkins jenkins 51 Nov 6 22:31 settings.gradle
-rw-r--r-- 1 jenkins jenkins 2260 Nov 6 22:31 gradlew.bat
drwxr-xr-x 3 jenkins jenkins 4096 Nov 6 22:31 wrapper
drwxr-xr-x 4 jenkins jenkins 4096 Nov 6 22:32 native
drwxr-xr-x 3 jenkins jenkins 4096 Nov 6 22:32 notifications
drwxr-xr-x 3 jenkins jenkins 4096 Nov 6 22:32 daemon
drwxr-xr-x 3 jenkins jenkins 4096 Nov 6 22:33 build-scan-data
drwx------ 7 jenkins jenkins 4096 Nov 6 22:33 caches
drwx------ 5 jenkins jenkins 4096 Nov 6 22:33 .gradle
-rwxr-xr-x 1 jenkins jenkins 5296 Nov 6 22:41 gradlew
drwxr-xr-x 13 jenkins jenkins 4096 Nov 6 22:41 .
drwxr-xr-x 8 jenkins jenkins 4096 Nov 6 22:41 .git
drwxr-xr-x 3 jenkins jenkins 4096 Nov 6 22:48 app
我能做什么?
【问题讨论】:
您可以在从 SCM 签出后立即手动构建包吗? 嗨@MartinZeitler 你的意思是使用詹金斯文件构建? (对不起,我是詹金斯的新手) 这是一场噩梦。在根项目“我的应用程序”中找不到任务“compileDebugSources”。我在这里粘贴了 jenkins 文件:pastebin.com/TbW9xWFQ 【参考方案1】:在我看来这有点疯狂。我根据@Martin 的建议 b 创建了一个 jenkins 文件 无论如何,发现在 jenkins env 中设置 ANDROID_HOME 是不够的,我不知道为什么。所以我最终在每个阶段都添加了 ANDROID_HOME : 如果有人知道更好的解决方案,请添加评论。
stage('Compile')
environment
ANDROID_HOME="/home/jenkins-bot/androis-sdk"
//PATH="$ANDROID_HOME/emulator:$ANDROID_HOME/platform-tools:$PATH"
steps
// Compile the app and its dependencies
sh './gradlew compileDebugSources --scan'
【讨论】:
以上是关于使用 Jenkins 构建 Android 项目时出现问题(未找到任务)的主要内容,如果未能解决你的问题,请参考以下文章
在 Jenkins 上构建 Android Studio 项目? android.compileSdkVersion 丢失
在 Jenkins 构建期间动态添加 Android 项目依赖项
Android基于jenkins全自动构建打包---------Windows版本(Android,Jenkins,360加固,Email,QRcode,参数构建,蒲公英)