Amazon ec2 反应本机+;排毒+;Gitlab ci+;AWS EC2/无法使用名称启动Android Emulator

Amazon ec2 反应本机+;排毒+;Gitlab ci+;AWS EC2/无法使用名称启动Android Emulator,amazon-ec2,android-emulator,react-native-android,Amazon Ec2,Android Emulator,React Native Android,描述错误 我的目标是在AWS ec2实例上使用Gitlab ci的react native为移动应用程序运行单元测试e2e detox AWS EC2:c5.xlarge 4 CPU/8GB RAM 我只是在AWS上创建了一个实例ec2 c5.xlarge,并在其上安装了docker和gitlab runner以及docker executor(图:alpine) 这里是我的.gitlab ci.yml: 阶段: -单元测试 变量: 立法会全体议员:"en_US.UTF-8" 朗:“恩_我们

描述错误 我的目标是在AWS ec2实例上使用Gitlab ci的react native为移动应用程序运行单元测试e2e detox

  • AWS EC2:c5.xlarge 4 CPU/8GB RAM
我只是在AWS上创建了一个实例ec2 c5.xlarge,并在其上安装了docker和gitlab runner以及docker executor(图:alpine)

这里是我的
.gitlab ci.yml

阶段:
-单元测试
变量:
立法会全体议员:"en_US.UTF-8"
朗:“恩_我们,UTF-8”
DOCKER_驱动程序:覆盖2
DOCKER_主机:tcp://docker:2376
DOCKER\u TLS\u CERTDIR:“/certs”
在脚本之前:
-节点-v
-npm-v
-纱线-v
排毒安卓:
阶段:单元测试
图片:react-NativeCommunity/react-native android
在脚本之前:
-echo fs.inotify.max_user_watches=524288 | tee-a/etc/sysctl.conf&&sysctl-p
-纱线安装:仅模块_
脚本:
-mkdir-p/root/.android&&touch/root/.android/repositories.cfg
#-$ANDROID_HOME/tools/bin/sdkmanager--list--verbose
-echo yes |$ANDROID_HOME/tools/bin/sdkmanager--channel=0--verbose“系统映像;ANDROID-25;google_API;armeabi-v7a”
-echo no |$ANDROID_HOME/tools/bin/avdmanager--详细创建avd--强制--名称“Pixel_API_28_AOSP”--软件包“系统映像;ANDROID-25;google_API;armeabi-v7a”--SD卡200M--设备11
-echo“等待模拟器已准备就绪…”
-emulator-avd“Pixel_API_28_AOSP”-调试初始化-无窗口-无音频-gpu swiftshader_间接-显示内核&
-adb在[[-z$(getprop sys.boot_completed)]时等待设备外壳';做睡眠1;完成;输入键事件82'
-echo“模拟器准备好了!”
-纱线排毒鸸鹋:构建:安卓
-纱线排毒鸸鹋:测试:安卓
标签:
-戒毒机器人
仅:
-ci/单元测试
下面是我的
package.json
中用于ci的脚本:

{
脚本:{
“解毒emu:test:android”:“npx解毒测试-c android.emu.release.ci--headless-l verbose”,
“解毒emu:build:android”:“npx解毒构建-c android.emu.release.ci”
}
}
这里是我的
.detockrc.json

{
“testRunner”:“玩笑”,
“runnerConfig”:“e2e/config.json”,
“配置”:{
“android.real”:{
“binaryPath”:“android/app/build/outputs/apk/debug/app debug.apk”,
“build”:“cd android&&./gradlew assembleDebug assembleAndroidTest-DtestBuildType=debug&&cd..”,
“类型”:“android.attached”,
“设备”:{
“adbName”:“60ac9404”
}
},
“android.emu.debug”:{
“binaryPath”:“android/app/build/outputs/apk/debug/app debug.apk”,
“build”:“cd android&&./gradlew assembleDebug assembleAndroidTest-DtestBuildType=debug&&cd..”,
“类型”:“android.emulator”,
“设备”:{
“avdName”:“像素\u API\u 28\u AOSP”
}
},
“android.emu.release”:{
“binaryPath”:“android/app/build/outputs/apk/release/app release.apk”,
“构建”:“cd android&&./gradlew AssemblerRelease assembleAndroidTest-DtestBuildType=release&&cd..”,
“类型”:“android.emulator”,
“设备”:{
“avdName”:“像素\u API\u 28\u AOSP”
}
},
“android.emu.release.ci”:{
“binaryPath”:“android/app/build/outputs/apk/release/app release.apk”,
“构建”:“cd android&&./gradlew AssemblerRelease assembleAndroidTest-DtestBuildType=release&&cd..”,
“类型”:“android.emulator”,
“设备”:{
“avdName”:“像素\u API\u 28\u AOSP”
}
}
}
}
在这里,我尝试了很多方法在EC2上设置android仿真器,但由于cpu虚拟化,它看起来只能与仿真器
armeabi-v7a
一起工作。它看起来像是适用于
armeabi-v7a
is
系统映像的最新模拟器;安卓-25;谷歌API;armeabi-v7a
。看起来我只能在EC2实例上运行带有sdkversion 25的模拟器

在我的移动应用程序中,我使用mapbox实现了解毒Minsdk26版所需的一些功能。我把我的身材也加上了gradle

您可以在附件中看到我的CI的完整日志。

我收到一个错误,因为Detock找不到名为
Pixel\u API\u 28\u AOSP
的仿真器。此错误可能与MinSDK版本有关?或者我在CI中遗漏了什么

环境(请填写以下信息):

  • 排毒:17.10.2
  • 反应本机:0.63.2
  • 设备:仿真器
    系统映像;安卓-25;谷歌API;armeabi-v7a
  • 操作系统:安卓
提前感谢您的帮助