Despite over 3.5 million Android apps and 200+ million Android Auto-compatible vehicles, only a few hundred apps support Android Auto due to platform-specific compliance requirements. Android Auto mandates service-based architectures in which the vehicle system invokes app callbacks to render the UI and handle interactions, which is fundamentally different from standard Activity-based Android development. Through an empirical study analysis of 98 issues across 14 Android Auto app repositories, we identified three major compliance failure categories: media playback errors, UI rendering issues, and voice command integration failures in line with mandatory requirements for integrating Android Auto support. We introduce AutoComply, a static analysis framework capable of detecting these compliance violations through the specialized analysis of platform-specific requirements. AutoComply constructs a Car-Control Flow Graph (CCFG) extending traditional control flow analysis to model the service-based architecture of Android Auto apps. Evaluating AutoComply on 31 large-scale open-source apps, it detected 27 violations (13X more than Android Lint), while no false positives were observed, achieving 2X faster analysis. Developers have acknowledged 14 of these violations with 8 fixes already implemented, validating AutoComply's practical effectiveness.
翻译:尽管Android应用数量超过350万,且兼容Android Auto的车辆超过2亿辆,但由于平台特定的合规性要求,仅有数百款应用支持Android Auto。Android Auto强制要求采用基于服务的架构,车辆系统通过调用应用回调来渲染用户界面并处理交互,这与基于Activity的标准Android开发模式存在根本差异。通过对14个Android Auto应用仓库中98个问题的实证研究分析,我们识别出三大主要合规性缺陷类别:媒体播放错误、用户界面渲染问题以及与Android Auto支持集成强制性要求相关的语音命令集成故障。我们提出了AutoComply——一种能够通过专门分析平台特定要求来检测这些合规违规的静态分析框架。AutoComply构建了车载控制流图,扩展了传统控制流分析以建模Android Auto应用的基于服务的架构。在31个大型开源应用上评估AutoComply,其检测出27项违规(是Android Lint检测数量的13倍),且未观察到误报,分析速度提升2倍。开发者已确认其中14项违规,并已完成8项修复,验证了AutoComply的实际有效性。