Skip to content

*Invalid device codename* crash #242

Description

@Benjamin-Loison

My purpose was to download x86-64 APKs.

aurora_store_QEMU_virtio_x86_64.properties:
#DEVICE_CONFIG
#Tue Jun 16 15:41:19 GMT+02:00 2026
HasHardKeyboard=true
Build.HARDWARE=virtio
Build.BRAND=QEMU
Build.VERSION.SDK_INT=36
Roaming=mobile-notroaming
Build.MODEL=Standard PC (Q35 + ICH9, 2009)
Vending.versionString=21.5.17-21 [0] [PR] 326734551
Vending.version=82151710
CellOperator=310
Build.FINGERPRINT=VirtIO/lineage_virtio_x86_64/virtio_x86_64\:16/BP2A.250805.005/eng.root\:userdebug/test-keys
Build.DEVICE=virtio_x86_64
Screen.Height=800
SimOperator=38
ScreenLayout=4
SharedLibraries=android.test.base,android.test.mock,android.hidl.manager-V1.0-java,android.telephony.satellite,android.hidl.base-V1.0-java,com.android.location.provider,androidx.window.extensions,android.net.ipsec.ike,android.ext.adservices,com.android.future.usb.accessory,android.ext.shared,javax.obex,com.android.extensions.appfunctions,android.test.runner,org.apache.http.legacy,com.android.cts.ctsshim.shared_library,com.android.media.remotedisplay,com.android.mediadrm.signer,androidx.window.sidecar
Features=android.hardware.sensor.proximity,android.hardware.sensor.accelerometer,android.software.controls,android.hardware.faketouch,android.software.backup,android.hardware.touchscreen,android.hardware.touchscreen.multitouch,android.software.erofs,android.software.print,android.hardware.ethernet,android.software.activities_on_secondary_displays,android.software.device_lock,android.software.voice_recognizers,android.software.picture_in_picture,android.hardware.sensor.gyroscope,android.software.vulkan.deqp.level,android.software.cant_save_state,android.hardware.security.model.compatible,org.lineageos.livedisplay,org.lineageos.profiles,android.hardware.sensor.relative_humidity,android.hardware.type.pc,android.hardware.bluetooth,android.software.window_magnification,android.software.incremental_delivery,android.software.sip.voip,android.software.opengles.deqp.level,android.hardware.usb.host,android.hardware.audio.output,android.software.ipsec_tunnel_migration,android.hardware.screen.portrait,android.hardware.sensor.ambient_temperature,android.software.home_screen,android.hardware.microphone,android.software.autofill,org.lineageos.hardware,org.lineageos.globalactions,android.software.securely_removes_users,android.hardware.bluetooth_le,android.hardware.sensor.compass,android.hardware.touchscreen.multitouch.jazzhand,android.hardware.sensor.barometer,android.software.app_widgets,android.software.input_methods,android.hardware.sensor.light,android.hardware.vulkan.version,android.software.companion_device_setup,android.software.device_admin,org.lineageos.trust,android.software.credentials,android.hardware.screen.landscape,android.hardware.ram.normal,org.lineageos.health,android.hardware.sensor.hinge_angle,org.lineageos.android,android.software.managed_users,android.software.webview,android.hardware.vulkan.compute,android.hardware.touchscreen.multitouch.distinct,android.hardware.location.network,android.software.cts,android.software.sip,android.software.app_enumeration,android.hardware.wifi.direct,android.software.live_wallpaper,android.software.ipsec_tunnels,org.lineageos.settings,android.software.freeform_window_management,android.software.midi,android.hardware.hardware_keystore,android.hardware.wifi,android.hardware.location,android.hardware.vulkan.level,android.software.virtualization_framework,android.software.secure_lock_screen,android.software.file_based_encryption
GSF.version=203019037
UserReadableName=QEMU Standard PC (Q35 + ICH9, 2009)
Build.RADIO=unknown
Client=android-google
Locales=af,af_ZA,am,am_ET,ar,ar_EG,ar_XB,as,ast,ast_ES,az,be,bg,bg_BG,bn,bs,ca,ca_ES,cs,cs_CZ,cy,da,da_DK,de,de_DE,el,el_GR,en,en_AU,en_CA,en_GB,en_IN,en_US,en_XA,en_XC,eo,es,es_419,es_ES,es_US,et,et_EE,eu,fa,fa_IR,fi,fi_FI,fil,fil_PH,fr,fr_CA,fr_FR,fur_IT,gd,gl,gu,hi,hi_IN,hr,hr_HR,hu,hu_HU,hy,in,in_ID,is,it,it_IT,iw,iw_IL,ja,ja_JP,ka,kab,kk,km,kn,ko,ko_KR,kw,ky,lo,lt,lt_LT,lv,lv_LV,mk,ml,mn,mr,ms,ms_MY,my,nb,nb_NO,ne,nl,nl_NL,or,pa,pl,pl_PL,pt,pt_BR,pt_PT,ro,ro_RO,ru,ru_RU,si,sk,sk_SK,sl,sl_SI,sq,sr,sr_Latn,sr_RS,sv,sv_SE,sw,sw_TZ,ta,te,th,th_TH,tr,tr_TR,uk,uk_UA,ur,uz,vi,vi_VN,yue,zh_CN,zh_HK,zh_TW,zu,zu_ZA
Screen.Density=160
Platforms=x86_64
Build.PRODUCT=lineage_virtio_x86_64
Navigation=1
Keyboard=2
Build.ID=BP2A.250805.005
TimeZone=UTC-10
Screen.Width=1280
GL.Extensions=GL_AMD_performance_monitor,GL_ANGLE_base_vertex_base_instance_shader_builtin,GL_ANGLE_blob_cache,GL_ANGLE_client_arrays,GL_ANGLE_clip_cull_distance,GL_ANGLE_compressed_texture_etc,GL_ANGLE_copy_texture_3d,GL_ANGLE_depth_texture,GL_ANGLE_framebuffer_blit,GL_ANGLE_framebuffer_multisample,GL_ANGLE_get_image,GL_ANGLE_get_serialized_context_string,GL_ANGLE_get_tex_level_parameter,GL_ANGLE_instanced_arrays,GL_ANGLE_memory_object_flags,GL_ANGLE_memory_size,GL_ANGLE_multi_draw,GL_ANGLE_pack_reverse_row_order,GL_ANGLE_polygon_mode,GL_ANGLE_program_binary_readiness_query,GL_ANGLE_program_cache_control,GL_ANGLE_read_only_depth_stencil_feedback_loops,GL_ANGLE_relaxed_vertex_attribute_type,GL_ANGLE_renderability_validation,GL_ANGLE_request_extension,GL_ANGLE_rgbx_internal_format,GL_ANGLE_robust_client_memory,GL_ANGLE_robust_fragment_shader_output,GL_ANGLE_shader_pixel_local_storage,GL_ANGLE_shader_pixel_local_storage_coherent,GL_ANGLE_stencil_texturing,GL_ANGLE_texture_compression_dxt3,GL_ANGLE_texture_compression_dxt5,GL_ANGLE_texture_multisample,GL_ANGLE_texture_usage,GL_ANGLE_translated_shader_source,GL_ANGLE_vulkan_image,GL_ANGLE_yuv_internal_format,GL_APPLE_clip_distance,GL_ARM_rgba8,GL_ARM_shader_framebuffer_fetch,GL_ARM_shader_framebuffer_fetch_depth_stencil,GL_CHROMIUM_bind_generates_resource,GL_CHROMIUM_bind_uniform_location,GL_CHROMIUM_color_buffer_float_rgb,GL_CHROMIUM_color_buffer_float_rgba,GL_CHROMIUM_copy_compressed_texture,GL_CHROMIUM_copy_texture,GL_CHROMIUM_lose_context,GL_EXT_EGL_image_array,GL_EXT_EGL_image_external_wrap_modes,GL_EXT_EGL_image_storage,GL_EXT_base_instance,GL_EXT_blend_minmax,GL_EXT_buffer_storage,GL_EXT_clear_texture,GL_EXT_clip_control,GL_EXT_clip_cull_distance,GL_EXT_color_buffer_float,GL_EXT_color_buffer_half_float,GL_EXT_compressed_ETC1_RGB8_sub_texture,GL_EXT_conservative_depth,GL_EXT_copy_image,GL_EXT_debug_label,GL_EXT_debug_marker,GL_EXT_depth_clamp,GL_EXT_discard_framebuffer,GL_EXT_disjoint_timer_query,GL_EXT_draw_buffers,GL_EXT_draw_buffers_indexed,GL_EXT_draw_elements_base_vertex,GL_EXT_external_buffer,GL_EXT_float_blend,GL_EXT_frag_depth,GL_EXT_instanced_arrays,GL_EXT_map_buffer_range,GL_EXT_memory_object,GL_EXT_multi_draw_indirect,GL_EXT_occlusion_query_boolean,GL_EXT_polygon_offset_clamp,GL_EXT_primitive_bounding_box,GL_EXT_read_format_bgra,GL_EXT_robustness,GL_EXT_sRGB,GL_EXT_sRGB_write_control,GL_EXT_semaphore,GL_EXT_semaphore_fd,GL_EXT_separate_shader_objects,GL_EXT_shader_framebuffer_fetch,GL_EXT_shader_framebuffer_fetch_non_coherent,GL_EXT_shader_io_blocks,GL_EXT_shader_non_constant_global_initializers,GL_EXT_shader_texture_lod,GL_EXT_shadow_samplers,GL_EXT_texture_border_clamp,GL_EXT_texture_buffer,GL_EXT_texture_compression_bptc,GL_EXT_texture_compression_dxt1,GL_EXT_texture_compression_rgtc,GL_EXT_texture_compression_s3tc_srgb,GL_EXT_texture_cube_map_array,GL_EXT_texture_filter_anisotropic,GL_EXT_texture_format_BGRA8888,GL_EXT_texture_mirror_clamp_to_edge,GL_EXT_texture_rg,GL_EXT_texture_sRGB_R8,GL_EXT_texture_sRGB_RG8,GL_EXT_texture_sRGB_decode,GL_EXT_texture_shadow_lod,GL_EXT_texture_storage,GL_EXT_texture_type_2_10_10_10_REV,GL_EXT_unpack_subimage,GL_KHR_blend_equation_advanced,GL_KHR_debug,GL_KHR_robustness,GL_KHR_texture_compression_astc_ldr,GL_NV_depth_buffer_float2,GL_NV_fence,GL_NV_framebuffer_blit,GL_NV_pack_subimage,GL_NV_pixel_buffer_object,GL_NV_polygon_mode,GL_NV_read_depth,GL_NV_read_depth_stencil,GL_NV_read_stencil,GL_NV_shader_noperspective_interpolation,GL_OES_EGL_image,GL_OES_EGL_image_external,GL_OES_EGL_image_external_essl3,GL_OES_EGL_sync,GL_OES_blend_subtract,GL_OES_compressed_EAC_R11_signed_texture,GL_OES_compressed_EAC_R11_unsigned_texture,GL_OES_compressed_EAC_RG11_signed_texture,GL_OES_compressed_EAC_RG11_unsigned_texture,GL_OES_compressed_ETC1_RGB8_texture,GL_OES_compressed_ETC2_RGB8_texture,GL_OES_compressed_ETC2_RGBA8_texture,GL_OES_compressed_ETC2_punchthroughA_RGBA8_texture,GL_OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture,GL_OES_compressed_ETC2_sRGB8_alpha8_texture,GL_OES_compressed_ETC2_sRGB8_texture,GL_OES_copy_image,GL_OES_depth24,GL_OES_depth32,GL_OES_depth_texture,GL_OES_depth_texture_cube_map,GL_OES_draw_buffers_indexed,GL_OES_draw_elements_base_vertex,GL_OES_draw_texture,GL_OES_element_index_uint,GL_OES_fbo_render_mipmap,GL_OES_framebuffer_object,GL_OES_get_program_binary,GL_OES_mapbuffer,GL_OES_packed_depth_stencil,GL_OES_point_size_array,GL_OES_point_sprite,GL_OES_primitive_bounding_box,GL_OES_required_internalformat,GL_OES_rgb8_rgba8,GL_OES_sample_shading,GL_OES_sample_variables,GL_OES_shader_image_atomic,GL_OES_shader_io_blocks,GL_OES_shader_multisample_interpolation,GL_OES_standard_derivatives,GL_OES_surfaceless_context,GL_OES_texture_3D,GL_OES_texture_border_clamp,GL_OES_texture_buffer,GL_OES_texture_cube_map,GL_OES_texture_cube_map_array,GL_OES_texture_float,GL_OES_texture_float_linear,GL_OES_texture_half_float,GL_OES_texture_half_float_linear,GL_OES_texture_mirrored_repeat,GL_OES_texture_npot,GL_OES_texture_stencil8,GL_OES_texture_storage_multisample_2d_array,GL_OES_vertex_array_object,GL_OES_vertex_half_float,GL_OES_vertex_type_10_10_10_2,GL_OVR_multiview,GL_OVR_multiview2
HasFiveWayNavigation=false
TouchScreen=3
GL.Version=196609
Build.VERSION.RELEASE=16
Build.BOOTLOADER=unknown
Build.MANUFACTURER=QEMU
apkeep --app com.google.android.tts -d google-play -o split_apk=true,device_properties_file=aurora_store_QEMU_virtio_x86_64.properties -e EMAIL --auth-token AUTH_TOKEN --accept-tos .
Output:
thread 'main' (327879) panicked at /home/admin/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gpapi-6.1.0/src/lib.rs:208:18:
Invalid device codename
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

The working command is:

apkeep --app com.google.android.tts -d google-play -o split_apk=true,device=default,device_properties_file=aurora_store_QEMU_virtio_x86_64.properties -e EMAIL --auth-token AUTH_TOKEN --accept-tos .
Output:
Google Play Terms of Service accepted.
Downloading com.google.android.tts...
com.google.android.tts downloaded successfully!

but apkeep should not crash in my opinion.

Above commands may not be minimized to reproduce the behavior.

Personal notes: Benjamin_Loison/apkeep/issues/1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions