Сбой перезапуска эмулятора Android - PullRequest
0 голосов
/ 05 июля 2019

У меня установлен эмулятор Android с использованием Visual Studio 2019 и включена платформа Hyper-V и гипервизор с использованием функций Windows.

Я создал новое устройство с помощью инструмента «Android Device Manager», и когда я его запускаю, оно работает отлично. Но если я закрою его и начну снова, он откроется, и на экране отобразится последнее состояние с последнего сеанса. Тогда ничего не происходит, оно никогда не загружается. Если я сбрасываю системные настройки устройства до состояния по умолчанию и запускаю снова, это работает, но я не хочу делать это каждый раз, плюс хочу иметь возможность хранить данные приложения между сеансами.

Так как мне заставить это работать?

Или как мне заставить его перестать пытаться сохранить состояние, всегда начинать с нуля?

У меня Windows 10, эмулятор Android версии 28.0.25, инструменты SDK 26.1.1, инструменты платформы SDK 28.0.2.

config.ini для моего устройства:

disk.dataPartition.size=800M
hw.accelerometer=yes
hw.audioInput=yes
hw.battery=yes
hw.camera.back=emulated
hw.dPad=no
hw.gps=yes
hw.gpu.mode=auto
hw.keyboard=yes
hw.lcd.density=320
hw.lcd.height=720
hw.lcd.width=1280
hw.mainKeys=yes
hw.ramSize=1024
hw.sdCard=yes
hw.sensors.orientation=yes
hw.sensors.proximity=yes
hw.trackBall=no
sdcard.size=100M
skin.dynamic=yes
skin.name=1280x720
vm.heapSize=256
hw.device.hash2=MD5:e6de262aae26d1ce2c8a8b656265afbc
hw.device.name=4.7in WXGA
hw.device.manufacturer=Generic
showDeviceFrame=no
tag.id=google_apis
tag.display=Google APIs
PlayStore.enabled=false
abi.type=x86
hw.cpu.arch=x86
hw.gpu.enabled=yes
avd.ini.displayname=720x1280_A9.0
image.sysdir.1=system-images\android-28\google_apis\x86\
AvdId=720x1280_a9_0

Некоторые журналы из инструмента Android Device Monitor:

E/SurfaceFlinger(1732): ro.sf.lcd_density must be defined as a build property
E/LocalDisplayAdapter(6626): Default and active color mode is no longer available! Reverting to first available mode.
E/LightsService(6626): Unable to get ILight interface.
E/Parcel(6626): Class not found when unmarshalling: android.content.pm.PackageParser$SigningDetail?
E/Parcel(6626): java.lang.ClassNotFoundException: android.content.pm.PackageParser$SigningDetail?
E/Parcel(6626):     at java.lang.Class.classForName(Native Method)
E/Parcel(6626):     at java.lang.Class.forName(Class.java:453)
E/Parcel(6626):     at android.os.Parcel.readParcelableCreator(Parcel.java:2803)
E/Parcel(6626):     at android.os.Parcel.readParcelable(Parcel.java:2757)
E/Parcel(6626):     at android.content.pm.PackageParser$Package.<init>(PackageParser.java:6821)
E/Parcel(6626):     at android.content.pm.PackageParser.fromCacheEntryStatic(PackageParser.java:1071)
E/Parcel(6626):     at android.content.pm.PackageParser.fromCacheEntry(PackageParser.java:1058)
E/Parcel(6626):     at android.content.pm.PackageParser.getCachedResult(PackageParser.java:1152)
E/Parcel(6626):     at android.content.pm.PackageParser.parsePackage(PackageParser.java:1013)
E/Parcel(6626):     at com.android.server.pm.ParallelPackageParser.parsePackage(ParallelPackageParser.java:138)
E/Parcel(6626):     at com.android.server.pm.ParallelPackageParser.lambda$submit$0(ParallelPackageParser.java:117)
E/Parcel(6626):     at com.android.server.pm.-$$Lambda$ParallelPackageParser$FTtinPrp068lVeI7K6bC1tNE3iM.run(Unknown Source:6)
E/Parcel(6626):     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:458)
E/Parcel(6626):     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
E/Parcel(6626):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
E/Parcel(6626):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
E/Parcel(6626):     at com.android.internal.util.ConcurrentUtils$1$1.run(ConcurrentUtils.java:62)
E/Parcel(6626): Caused by: java.lang.ClassNotFoundException: android.content.pm.PackageParser$SigningDetail?
E/Parcel(6626):     at java.lang.Class.classForName(Native Method)
E/Parcel(6626):     at java.lang.BootClassLoader.findClass(ClassLoader.java:1346)
E/Parcel(6626):     at java.lang.BootClassLoader.loadClass(ClassLoader.java:1406)
E/Parcel(6626):     at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
E/Parcel(6626):     ... 17 more
E/Parcel(6626): Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available
E/Parcel(6626): Class not found when unmarshalling: android.content.pm.PackageParser$Signing???????
E/Parcel(6626): java.lang.ClassNotFoundException: android.content.pm.PackageParser$Signing???????
E/Parcel(6626):     at java.lang.Class.classForName(Native Method)
E/Parcel(6626):     at java.lang.Class.forName(Class.java:453)
E/Parcel(6626):     at android.os.Parcel.readParcelableCreator(Parcel.java:2803)
E/Parcel(6626):     at android.os.Parcel.readParcelable(Parcel.java:2757)
E/Parcel(6626):     at android.content.pm.PackageParser$Package.<init>(PackageParser.java:6821)
E/Parcel(6626):     at android.content.pm.PackageParser.fromCacheEntryStatic(PackageParser.java:1071)
E/Parcel(6626):     at android.content.pm.PackageParser.fromCacheEnpm.PackaageParser.java:1058)
E/Parcel(6626):     at android.content.pm.PackageParser.getCachedResult(PackageParser.java:1152)
E/Parcel(6626):     at android.content.pm.PackageParser.parsePackage(PackageParser.java:1013)
E/Parcel(6626):     at com.android.server.pm.ParallelPackageParser.parsePackage(ParallelPackageParser.java:138)
E/Parcel(6626):     at com.android.server.pm.ParallelPackageParser.lambda$submit$0(ParallelPackageParser.java:117)
E/Parcel(6626):     at com.android.server.pm.-$$Lambda$ParallelPackageParser$FTtinPrp068lVeI7K6bC1tNE3iM.run(Unknown Source:6)
E/Parcel(6626):     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:458)
E/Parcel(6626):     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
E/Parcel(6626):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
E/Parcel(6626):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
E/Parcel(6626):     at com.android.internal.util.ConcurrentUtils$1$1.run(ConcurrentUtils.java:62)
E/Parcel(6626): Caused by: java.lang.ClassNotFoundException: android.content.pm.PackageParser$Signing???????
E/Parcel(6626):     at java.lang.Class.classForName(Native Method)
E/Parcel(6626):     at java.lang.BootClassLoader.findClass(ClassLoader.java:1346)
E/Parcel(6626):     at java.lang.BootClassLoader.loadClass(ClassLoader.java:1406)
E/Parcel(6626):     at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
E/Parcel(6626):     ... 17 more
E/Parcel(6626): Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available
E/PackageManager(6626): Adding duplicate user id: 10008 name=com.google.android.gms

Тогда это просто невербальные коды с путями к файлам и префиксом

A / system_server (6626): file_utils.cc:113]

1 Ответ

0 голосов
/ 06 июля 2019

Существует настройка под названием Quickboot, которую вы можете отключить для каждого AVD в отдельности, тогда она будет выполнять холодную загрузку каждый раз.

Но это не лучшее решение, я бы хотел, чтобы Quickboot действительно работал.

enter image description here

Ссылка https://developer.android.com/studio/run/emulator.html#quickboot

...