Android 在运行sh命令时输入用户输入的文件

Android 在运行sh命令时输入用户输入的文件,android,docker,jenkins,groovy,jenkins-pipeline,Android,Docker,Jenkins,Groovy,Jenkins Pipeline,我尝试编写一个Jenkins文件来安装android emulator并运行一些测试 但是在运行“系统映像;android-30;Google_API;x86_64”时,系统会要求我输入“否” 如果我在windows上的本地android studio上运行此脚本,一切正常: 然后我试着为詹金斯写剧本 环境: 这是我的文件: #!/usr/bin/env groovy node('android') { ansiColor('xterm') { checkout s

我尝试编写一个Jenkins文件来安装android emulator并运行一些测试

但是在运行“系统映像;android-30;Google_API;x86_64”时,系统会要求我输入“否”

如果我在windows上的本地android studio上运行此脚本,一切正常:

然后我试着为詹金斯写剧本

环境:

这是我的文件:

#!/usr/bin/env groovy

node('android') {
    ansiColor('xterm') {

        checkout scm

        stage('Build and upload') {

            docker.image('androidsdk/android-30:latest').inside('-u root')
                    {
                       
                        sh 'sdkmanager --list'
                        sh 'avdmanager create avd -n Google_apis_30 -k "system-images;android-30;google_apis;x86_64"'
                        echo 'no'

                        sh 'emulator -list-avds'
                        sh 'start /min emulator -avd Google_apis_30'
                        sh './gradlew clean connectedCheck --no-daemon --stacktrace'
                    }

            archiveArtifacts 'app/build/outputs/apk/debug/*.apk'
        }
我还尝试了几种不同的
echo
命令:

echo no | android create avd -n Google_apis_30

但詹金斯仍然没有超越剧本:

怎么了?

很有趣

我忘了用
echo
comand替换创建仿真器命令。 工作答案:
sh'echo no | avdmanager create avd-n Google_api_30-k“系统映像;android-30;Google_api;x86_64”

不带“echo”的初始命令将被删除

stage('Build and upload') {

        docker.image('androidsdk/android-30:latest').inside('-u root')
                {
                    sh 'sdkmanager --list'
                    sh 'echo no | avdmanager create avd -n Google_apis_30 -k "system-images;android-30;google_apis;x86_64"'

                    sh 'emulator -list-avds'
}}
很有趣

我忘了用
echo
comand替换创建仿真器命令。 工作答案:
sh'echo no | avdmanager create avd-n Google_api_30-k“系统映像;android-30;Google_api;x86_64”

不带“echo”的初始命令将被删除

stage('Build and upload') {

        docker.image('androidsdk/android-30:latest').inside('-u root')
                {
                    sh 'sdkmanager --list'
                    sh 'echo no | avdmanager create avd -n Google_apis_30 -k "system-images;android-30;google_apis;x86_64"'

                    sh 'emulator -list-avds'
}}
sh 'echo "no"'
echo 'no'
stage('Build and upload') {

        docker.image('androidsdk/android-30:latest').inside('-u root')
                {
                    sh 'sdkmanager --list'
                    sh 'echo no | avdmanager create avd -n Google_apis_30 -k "system-images;android-30;google_apis;x86_64"'

                    sh 'emulator -list-avds'
}}