android

Designs, builds, and maintains software for the Android platform, including applications, system components, services, and native libraries using the Android SDK/NDK and related tooling. Performs analysis and testing of Android code and packages—covering UI, inter-process communication, lifecycle management, performance profiling, debugging, and deployment to devices or emulators.

android

Recent Skill Trend

Momentum and market value over time
Trending
Score
No comparison yet
-0.22
Oct 01, 2026Oct 01, 2026
Career
Value
No comparison yet
$208K/year
Oct 01, 2026Oct 01, 2026

Must-Read Papers

Most classic and influential ideas
View more

Diagnosing and Resolving Android Applications Building Issues: An Empirical Study

Nov 09, 2025
LP
Lakshmi Priya Bodepudi
🏛️ University of Cincinnati | California State University, Long Beach | University of Central Missouri | The University of Arizona

Android app builds frequently fail due to complex dependency graphs, heterogeneous configuration schemes, and rapid ecosystem evolution. To address this, we conduct an empirical study analyzing build logs from 200 open-source Android projects and propose a five-stage diagnosis-and-repair framework. We systematically categorize build failures into four canonical patterns—the first such taxonomy in the literature. Innovatively, we integrate a large language model (GPT-5) to generate context-aware repair suggestions, which are then validated through automated build execution and manual verification. Our evaluation shows successful repair of 102 out of 135 initially failing projects (75.6% success rate). Furthermore, we identify programming language choice, project age, and application scale as statistically significant factors influencing build reliability. This work contributes both a reusable methodology and empirically grounded insights to enhance Android build robustness and maintainability.

Analyzing build errors including dependency and configuration issuesDiagnosing and resolving Android application build failures empiricallyEvaluating LLM-assisted error diagnosis and repair strategies effectiveness

Dynamic analysis of Android applications at the application layer has long been constrained by reliance on physical devices, suffering from poor scalability and limited reproducibility. This work proposes a systematic rehosting approach that migrates Android framework components and preinstalled vendor binaries from real-world firmware into a fully emulated environment. By employing tailored extraction and injection strategies, these components are seamlessly integrated into the AOSP build system to produce bootable emulator images that preserve system integrity and runtime compatibility. The method enables, for the first time, large-scale rehosting of vendor-customized Android firmware in QEMU across multiple SDK versions (31–33). Evaluation on 184 firmware samples demonstrates high success rates in both image construction and booting, with only a few failures attributable to missing dependencies or emulator limitations, thereby validating the feasibility and effectiveness of this approach for scalable and reproducible dynamic analysis.

Android application layerdynamic analysisemulation

This work addresses the challenge of repairing visual defects in Android applications, which is often hindered by incomplete human-submitted bug reports lacking observed behavior (OB), expected behavior (EB), or steps to reproduce (S2Rs). To overcome this limitation, the authors propose the first approach that leverages GUI context to guide large language models (LLMs) in generating structured bug reports. By integrating interaction logs and screenshots, the method automatically produces comprehensive and accurate OB, EB, and S2Rs. A unified evaluation framework assessing both correctness and completeness is also introduced. Experimental results on 48 bug reports across 26 applications demonstrate that the generated reports significantly outperform both original human-written reports and existing LLM-based baselines in quality.

Android applicationsbug reportsExpected Behavior

This work addresses the challenges posed by the event-driven nature and development diversity of Android applications, which hinder static analysis from constructing complete control-flow models, while existing dynamic testing approaches suffer from low efficiency and insufficient coverage. To overcome these limitations, the paper proposes DroidGraph, a framework that integrates static code analysis with systematic exploration to build a unified control-flow model bridging low-level method invocations and high-level UI structures, thereby enabling efficient automated test generation. Experimental evaluation on 19 real-world applications demonstrates that DroidGraph achieves 18% higher coverage of application content with 345 fewer interactions on average compared to random exploration, and additionally uncovers 51 previously missed components and 49% more UI callback links.

Android applicationsautomated test generationdynamic analysis

This study addresses the challenges of unstable end-to-end testing for Android applications in continuous integration (CI) due to fragile emulator configurations. It presents the first large-scale empirical analysis of 4,518 open-source projects, systematically examining how instrumentation tests are configured, how these practices evolve, and their comparative effectiveness in CI environments. Leveraging GitHub Actions metadata, the work evaluates three prevalent approaches: Gradle Managed Devices, community-reusable components, and custom scripts. Findings reveal that only 10.6% of projects adopt such testing; among them, community components demonstrate superior reliability and efficiency, third-party device labs are suitable for regression testing despite higher costs, and custom scripts, while flexible, suffer from high retry rates. The study thus illuminates current practices and critical trade-offs in Android CI testing.

Android instrumentation testingCI configuration driftcontinuous integration

Latest Papers

What's happening recently
View more

This study addresses the high development costs and significant code redundancy associated with traditional institutional mobile applications that rely heavily on native Android development. To overcome these limitations, the authors propose a full-stack solution leveraging a Django backend and an HTMX frontend, integrated via a WebView bridge to deliver a campus management system without writing any Android SDK code. The system supports core functionalities including task scheduling, inventory management, and attendance tracking, and is deployed using a self-hosted Docker Compose setup, eliminating dependence on external cloud services. Evaluated in a real-world institutional setting, this approach demonstrates for the first time that HTMX combined with Django can effectively replace conventional APK-based development, achieving a 54% reduction in development time, a 91% decrease in HTTP payload size, and a user satisfaction score of 4.2 out of 5.0 among 42 participants.

Android SDKenterprise softwareinstitutional software

This study addresses the scarcity of large-scale, reproducible, fine-grained data on third-party SDK dependencies in mobile applications, which hinders research into technical ecosystems and privacy infrastructures. The authors construct a public dataset comprising 334,719 app-version observations by combining static APK analysis, code-signing matching, and an automated processing pipeline, leveraging AndroZoo and Exodus Privacy rules to achieve code-level SDK identification. Covering nearly 100,000 distinct applications and 246 SDKs, the dataset enables the construction of an app–SDK bipartite network and maps SDKs to their operating companies, thereby revealing upstream technological control structures. This resource provides a reusable infrastructure for empirical studies on third-party dependencies and privacy practices in the Android ecosystem.

Android appsdependency analysismobile ecosystem

Official Android API lists (AALs) suffer from inconsistencies and instability, severely undermining the reliability and reproducibility of API-based Android research. This study systematically examines discrepancies among four widely used AALs, their version evolution, and real-device availability, complemented by large-scale static analysis of 17,759 applications. For the first time, it uncovers underlying policy divergences and the pervasive use of vendor-customized APIs. The findings reveal that substantial differences across AALs can materially alter research conclusions, while existing studies largely overlook vendor-specific APIs. Based on these insights, the paper offers practical recommendations to improve the reliability of AAL selection and interpretation in future research.

Android APIsAPI InconsistencyAPI Lists