- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用 Linux Pop!OS 19.04 并尝试安装 Android Emulator。它会启动,但每次都会在大约 30 秒内关闭。
我通过“OpenJDK-8-JDK”安装了 Java 8,我可以成功构建 Android 包并将它们毫无问题地加载到我的手机上。
将 Android SDK 安装到/usr/local/android 之后,我就是这样做的;
进入tools bin目录
cd /usr/local/android/sdk/tools/bin
sudo chmod +x
安装系统镜像(必须以 root 身份完成)
sudo ./sdkmanager "system-images;android-25;google_apis;x86"
sudo ./sdkmanager --licenses
对所有人说“y” sudo touch ~/.android/repositories.cfg
列出要安装的可用 Android 虚拟设备(以用户身份完成)
./avdmanager list
创建测试 Android 虚拟设备 (AVD)
./avdmanager create avd -n test -k "system-images;android-25;google_apis;x86"
自定义硬件配置文件:否
列出 AVD
现在我通过 avdmanager 列出时得到以下信息
./avdmanager list avd
Available Android Virtual Devices:
Name: test
Path: /root/.android/avd/test.avd
Target: Google APIs (Google Inc.)
Based on: Android 7.1.1 (Nougat) Tag/ABI: google_apis/x86
启动模拟器
cd /usr/local/android/sdk/emulator
./emulator -avd test
然后加载模拟器,我可以启动应用程序并四处浏览,直到它崩溃/关闭程序。
我尝试安装 Android Studio 并通过那里设置 AVD,同样的事情发生了。我已经为我的 AVD 尝试了不同的模型和安卓版本,同样的事情。
更新:记录一次崩溃
我设法通过使用记录了一次崩溃
$ANDROID_HOME/emulator/emulator -avd test -gpu guest -logcat v
日志
08-22 13:50:03.169 2703 2839 V NativeCrypto: Read error: ssl=0xb0a32640: I/O error during system call, Connection reset by peer
08-22 13:50:03.170 2703 2839 V NativeCrypto: SSL shutdown failed: ssl=0xb0a32640: I/O error during system call, Broken pipe
08-22 13:50:03.195 3551 3551 W dex2oat : Unexpected CPU variant for X86 using defaults: x86
08-22 13:50:03.195 3551 3551 W dex2oat : Mismatch between dex2oat instruction set features (ISA: X86 Feature string: smp,-ssse3,-sse4.1,-sse4.2,-avx,-avx2,-lock_add,-popcnt) and those of dex2oat executable (ISA: X86 Feature string: smp,ssse3,-sse4.1,-sse4.2,-avx,-avx2,-lock_add,-popcnt) for the command line:
08-22 13:50:03.195 3551 3551 W dex2oat : /system/bin/dex2oat --runtime-arg -classpath --runtime-arg & --instruction-set=x86 --instruction-set-features=smp,ssse3,-sse4.1,-sse4.2,-avx,-avx2,-lock_add,-popcnt --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=x86 --instruction-set-features=default --dex-file=/data/user/0/com.google.android.gms/app_fb/f.apk --oat-fd=44 --oat-location=/data/user/0/com.google.android.gms/app_fb/f.dex --compiler-filter=speed
08-22 13:50:03.195 3551 3551 I dex2oat : /system/bin/dex2oat --dex-file=/data/user/0/com.google.android.gms/app_fb/f.apk --oat-fd=44 --oat-location=/data/user/0/com.google.android.gms/app_fb/f.dex --compiler-filter=speed
08-22 13:50:03.232 3551 3551 I dex2oat : dex2oat took 36.457ms (threads: 2) arena alloc=323KB (331648B) java alloc=76KB (78168B) native alloc=966KB (989744B) free=2MB (2155984B)
08-22 13:50:03.234 2703 2839 W System : ClassLoader referenced unknown path:
08-22 13:50:03.253 2022 3550 I GoogleURLConnFactory: Using platform SSLCertificateSocketFactory
08-22 13:50:03.262 2022 3550 I GoogleURLConnFactory: Using platform SSLCertificateSocketFactory
08-22 13:50:03.387 2022 2716 W ConfigurationChimeraPro: Got null configs for com.google.android.gms.auth.account.base
08-22 13:50:03.415 2022 2716 W Conscrypt: Could not set socket write timeout:
08-22 13:50:03.416 2022 2716 W Conscrypt: java.lang.reflect.Method.invoke(Native Method)
08-22 13:50:03.416 2022 2716 W Conscrypt: com.google.android.gms.org.conscrypt.Platform.setSocketWriteTimeout(:com.google.android.gms@11743470:13)
08-22 13:50:03.552 2022 2716 W Conscrypt: Could not set socket write timeout:
08-22 13:50:03.552 2022 2716 W Conscrypt: java.lang.reflect.Method.invoke(Native Method)
08-22 13:50:03.552 2022 2716 W Conscrypt: com.google.android.gms.org.conscrypt.Platform.setSocketWriteTimeout(:com.google.android.gms@11743470:13)
08-22 13:50:03.678 2022 2716 W GLSUser : [AppCertManager] IOException while requesting key:
08-22 13:50:03.678 2022 2716 W GLSUser : java.io.IOException: Invalid device key response.
08-22 13:50:03.678 2022 2716 W GLSUser : at eyw.a(:com.google.android.gms@11743470:14)
08-22 13:50:03.678 2022 2716 W GLSUser : at eyw.a(:com.google.android.gms@11743470:65)
08-22 13:50:03.678 2022 2716 W GLSUser : at eyu.a(:com.google.android.gms@11743470:8)
08-22 13:50:03.678 2022 2716 W GLSUser : at eyq.a(:com.google.android.gms@11743470:1)
08-22 13:50:03.678 2022 2716 W GLSUser : at eyp.a(:com.google.android.gms@11743470:10)
08-22 13:50:03.678 2022 2716 W GLSUser : at com.google.android.gms.auth.account.be.legacy.AuthCronChimeraService.b(:com.google.android.gms@11743470:7)
08-22 13:50:03.678 2022 2716 W GLSUser : at edr.call(:com.google.android.gms@11743470:3)
08-22 13:50:03.678 2022 2716 W GLSUser : at java.util.concurrent.FutureTask.run(FutureTask.java:237)
08-22 13:50:03.678 2022 2716 W GLSUser : at mmu.run(:com.google.android.gms@11743470:26)
08-22 13:50:03.678 2022 2716 W GLSUser : at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
08-22 13:50:03.678 2022 2716 W GLSUser : at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
08-22 13:50:03.678 2022 2716 W GLSUser : at mse.run(:com.google.android.gms@11743470)
08-22 13:50:03.678 2022 2716 W GLSUser : at java.lang.Thread.run(Thread.java:761)
08-22 13:50:07.717 1603 1634 W ActivityManager: Unable to start service Intent { act=com.google.android.gms.drive.ApiService.RESET_AFTER_BOOT flg=0x4 cmp=com.google.android.gms/.drive.api.ApiService (has extras) } U=0: not found
emulator: Saving state on exit with session uptime 119964 ms
更新:config.ini
这是我的config.ini
PlayStore.enabled = false
abi.type = x86
avd.ini.encoding = UTF-8
hw.accelerometer = yes
hw.audioInput = yes
hw.battery = yes
hw.cpu.arch = x86
hw.dPad = no
hw.device.hash2 = MD5:fc85b2d34337b54227366eb43de4cfef
hw.device.manufacturer = Generic
hw.device.name = 5.4in FWVGA
hw.gps = yes
hw.lcd.density = 160
hw.lcd.height = 854
hw.lcd.width = 480
hw.mainKeys = yes
hw.sdCard = yes
hw.sensors.orientation = yes
hw.sensors.proximity = yes
hw.trackBall = no
image.sysdir.1 = system-images/android-24/google_apis_playstore/x86/
sdcard.size = 2048M
tag.display = Google Play
tag.id = google_apis_playstore
disk.dataPartition.size = 6442450944
hw.ramSize=3072
更新:另一个崩溃日志
这次它不会提示丢失的 key 。
08-28 09:48:58.109 12476 12476 W art : Unexpected CPU variant for X86 using defaults: x86
08-28 09:48:58.114 12476 12476 D ICU : No timezone override file found: /data/misc/zoneinfo/current/icu/icu_tzdata.dat
08-28 09:48:58.129 12476 12476 E memtrack: Couldn't load memtrack module (No such file or directory)
08-28 09:48:58.129 12476 12476 E android.os.Debug: failed to load memtrack module: -2
08-28 09:48:58.130 12476 12476 I Radio-JNI: register_android_hardware_Radio DONE
08-28 09:48:58.139 12476 12476 D AndroidRuntime: Calling main entry com.android.commands.settings.SettingsCmd
08-28 09:48:58.144 12476 12476 D AndroidRuntime: Shutting down VM
emulator: emulator_window_fb_update
emulator: emulator_window_fb_update
emulator: emulator_window_fb_update
emulator: emulator_window_fb_update
08-28 09:49:03.851 1602 2032 D AlarmManagerService: Kernel timezone updated to -600 minutes west of GMT
08-28 09:49:03.852 1602 2030 D AlarmManagerService: Setting time of day to sec=1566949744
08-28 09:49:04.002 1602 2030 W AlarmManagerService: Unable to set rtc to 1566949744: No such device
[ 8042.781849] healthd: battery l=100 v=0 t=0.0 h=2 st=2 chg=a
emulator: emulator_window_fb_update
emulator: emulator_window_fb_update
emulator: emulator_window_fb_update
emulator: emulator_window_fb_update
emulator: Saving state on exit with session uptime 73706 ms
解决方法
创建一个每次崩溃时重启模拟器的别名。
alias tnsa="tns run android --device emulator-5554" # Run in emulator
alias em="$ANDROID_HOME/emulator/emulator -avd samsung_galaxy_s8 -gpu guest -no-audio -verbose"
alias eml="while true; do pkill -f android; sleep 2; tnsa &; em &> ~/emulator.log; done"
这很糟糕,但我目前正在使用的是什么。
最佳答案
原因是您安装了带模拟器的工作室的桌面没有足够的磁盘空间。请尝试清理一些空间并重新运行设备,否则尝试创建新的模拟器没有帮助。希望它有帮助.
关于Android 模拟器在没有警告的情况下关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57068752/
我是 Java 新手,这是我的代码, if( a.name == b.name && a.displayname == b.displayname && a.linknam
在下面的场景中,我有一个 bool 值。根据结果,我调用完全相同的函数,唯一的区别是参数的数量。 var myBoolean = ... if (myBoolean) { retrieve
我是一名研究 C++ 的 C 开发人员: 我是否正确理解如果我抛出异常然后堆栈将展开直到找到第一个异常处理程序?是否可以在不展开的情况下在任何 throw 上打开调试器(即不离开声明它的范围或任何更高
在修复庞大代码库中的错误时,我观察到一个奇怪的情况,其中引用的动态类型从原始 Derived 类型更改为 Base 类型!我提供了最少的代码来解释问题: struct Base { // some
我正在尝试用 C# 扩展给定的代码,但由于缺乏编程经验,我有点陷入困境。 使用 Visual Studio 社区,我尝试通过控制台读出 CPU 核心温度。该代码使用开关/外壳来查找传感器的特定名称(即
这可能是一个哲学问题。 假设您正在向页面发出 AJAX 请求(这是使用 Prototype): new Ajax.Request('target.asp', { method:"post", pa
我有以下 HTML 代码,我无法在所有浏览器中正常工作: 我试图在移动到
我对 Swift 很陌生。我如何从 addPin 函数中检索注释并能够在我的 addLocation 操作 (buttonPressed) 中使用它。我正在尝试使用压力触摸在 map 上添加图钉,在两
我设置了一个详细 View ,我是否有几个 Nib 文件根据在 Root View Controller 的表中选择的项目来加载。 我发现,对于 Nibs 的类,永远不会调用 viewDidUnloa
我需要动态访问 json 文件并使用以下代码。在本例中,“bpicsel”和“temp”是变量。最终结果类似于“data[0].extit1” var title="data["+bpicsel+"]
我需要使用第三方 WCF 服务。我已经在我的证书存储中配置了所需的证书,但是在调用 WCF 服务时出现以下异常。 向 https://XXXX.com/AHSharedServices/Custome
在几个 SO 答案(1、2)中,建议如果存在冲突则不应触发 INSERT 触发器,ON CONFLICT DO NOTHING 在触发语句中。也许我理解错了,但在我的实验中似乎并非如此。 这是我的 S
如果进行修改,则会给出org.hibernate.NonUniqueObjectException。在我的 BidderBO 类(class)中 @Override @Transactional(pr
我使用 indexOf() 方法来精细地查找数组中的对象。 直到此刻我查了一些资料,发现代码应该无法正常工作。 我在reducer中尝试了上面的代码,它成功了 let tmp = state.find
假设我有以下表格: CREATE TABLE Game ( GameID INT UNSIGNED NOT NULL, GameType TINYINT UNSIGNED NOT NU
代码: Alamofire.request(URL(string: imageUrl)!).downloadProgress(closure: { (progress) in
我是一名优秀的程序员,十分优秀!