我正在编写一个自动模拟器脚本,该脚本将创建并启动 Android 模拟器,以便我可以从任何计算机运行 UI 测试并保证它将在设备上运行。
我当前的脚本创建了一个android-27;google_apis;x86工作正常的设备,但缺少谷歌服务,因此我的应用程序中的地图不显示。
我尝试使用创建模拟器google_apis_playstore,但是当设备启动时,它会提示 ADB 调试提示。通常点击这个就可以了,但我希望能够在无头服务器上运行它,但并不总是能够。
无论如何,有没有办法创建具有 google api + 地图的模拟器,而不必接受 ADB 对话框?
这是我当前的 shell 脚本
#!/bin/sh
# Run this script in root project dir
# Kill existing emulator
$ANDROID_HOME/platform-tools/adb devices | grep emulator | cut -f1 | while read line; do $ANDROID_HOME/platform-tools/adb -s $line emu kill; done
# Install system image
$ANDROID_HOME/tools/bin/sdkmanager "system-images;android-27;google_apis;x86"
yes | $ANDROID_HOME/tools/bin/sdkmanager --licenses
# Create emulator
echo "no" | $ANDROID_HOME/tools/bin/avdmanager create avd -f \
-n "tester" …Run Code Online (Sandbox Code Playgroud) 抱歉,如果这是一个愚蠢的问题,Kotlin对我来说还是新手,而且我对语法"类型"不熟悉,因此发现找到解决方案很困难.
fun Any?.test(): Any?
{
return this
}
"test string".test() // implicit string is now type of "Any"
"test string".test().substring() // what i'm trying to achieve
Run Code Online (Sandbox Code Playgroud)
我基本上希望类扩展方法返回它自己的实例,所以我仍然可以按照示例的底线操作它
请原谅这个例子的粗鲁,简化了下来