Tagged articles

Android

1864 articles · Page 13 of 19
Youzan Coder
Youzan Coder
Jan 15, 2020 · Mobile Development

Savitar: Incremental Compilation Acceleration for Android Development

Savitar, a custom Android Studio plugin suite, accelerates incremental compilation by detecting changed files with Watchman, gathering project metadata, invoking javac/kotlinc and AAPT2 for on‑demand builds, and hot‑loading Dex and resources at runtime, cutting average incremental build time from 110 seconds to 15 seconds and saving thousands of developer hours.

AndroidBuild OptimizationGradle
0 likes · 20 min read
Savitar: Incremental Compilation Acceleration for Android Development
JD Retail Technology
JD Retail Technology
Jan 14, 2020 · Mobile Development

Understanding JD's Aura Android Plugin Framework: Architecture, Benefits, Implementation, and Management

The article explains the evolution, advantages, challenges, and current status of Android plugin technology, then details JD's Aura plugin framework—including its layered architecture, class and resource loading mechanisms, management tools, upgrade process, and future considerations—for large‑scale mobile app development.

AndroidAura FrameworkDynamic Modules
0 likes · 10 min read
Understanding JD's Aura Android Plugin Framework: Architecture, Benefits, Implementation, and Management
AI Code to Success
AI Code to Success
Jan 11, 2020 · Mobile Development

Why Does Creating a Handler in a Background Thread Throw an Exception?

This article explains Android's Handler and Looper mechanism, shows why creating a Handler in a non‑Looper thread triggers a RuntimeException, and walks through the relevant source code—including Handler constructors, Looper.myLooper(), ThreadLocal operations, and the required Looper.prepare() call.

ANRAndroidLooper
0 likes · 10 min read
Why Does Creating a Handler in a Background Thread Throw an Exception?
AI Code to Success
AI Code to Success
Jan 8, 2020 · Mobile Development

Step-by-Step Guide to Building Your Own Android Hotfix Framework

This tutorial walks through the principles of Android hotfixing, explains class loaders, and provides a complete hands‑on implementation—including a buggy class, a custom Dex loader, patch creation, and runtime injection—so developers can quickly patch bugs without releasing a full app update.

AndroidDexClassLoaderHotfix
0 likes · 11 min read
Step-by-Step Guide to Building Your Own Android Hotfix Framework
Tencent Cloud Developer
Tencent Cloud Developer
Jan 7, 2020 · Mobile Development

Hippy Cross-Platform Framework: Common Debugging Methods and Troubleshooting Cases

The article introduces Tencent’s open‑source Hippy cross‑platform framework, outlines its developer‑friendly features and W3C compliance, and details common debugging techniques—including Chrome DevTools‑based services, jsbundle debugging, and memory monitoring—while presenting practical troubleshooting cases for UI updates, scrolling, performance, and iOS‑specific issues.

AndroidHippyListView
0 likes · 12 min read
Hippy Cross-Platform Framework: Common Debugging Methods and Troubleshooting Cases
Youku Technology
Youku Technology
Jan 7, 2020 · Mobile Development

Comprehensive Design and Technical Summary of Full Dark Mode Support for the Youku App

The article delivers a detailed 117‑page, eleven‑chapter overview of Youku’s full Dark Mode implementation, explaining the motivation, battery and accessibility benefits, design methodology—including color token systems and contrast hierarchy—and the coordinated technical execution across iOS and Android platforms.

AndroidDark Modeaccessibility
0 likes · 13 min read
Comprehensive Design and Technical Summary of Full Dark Mode Support for the Youku App
JD Retail Technology
JD Retail Technology
Dec 31, 2019 · Mobile Development

Android Memory Optimization: Impact Analysis, Leak Detection, and Image Optimization

This article examines how memory usage affects Android app performance, analyzes system and process-level impacts, discusses GC behavior, identifies common memory issues such as leaks, image loading, and memory churn, and provides practical optimization techniques and tool-based solutions to reduce memory consumption and prevent OOM and lag.

AndroidGCImageLoading
0 likes · 26 min read
Android Memory Optimization: Impact Analysis, Leak Detection, and Image Optimization
Baidu App Technology
Baidu App Technology
Dec 31, 2019 · Mobile Development

Smoothness Monitoring Practices in Baidu App: Concepts, Industry Solutions, and Implementation

To ensure user delight beyond basic stability, Baidu App adopts end‑to‑end smoothness monitoring that measures frame‑rate, frame length, and dropped frames using VSync‑based Choreographer callbacks, Looper timestamps, and selective stack sampling, while balancing visual richness on diverse devices and interpreting metrics across varied usage scenarios.

AndroidSmoothnessframe rate
0 likes · 6 min read
Smoothness Monitoring Practices in Baidu App: Concepts, Industry Solutions, and Implementation
58 Tech
58 Tech
Dec 30, 2019 · Mobile Development

Platformization and Architecture Refactoring of the Anjuke Android App: Challenges, Solutions, and Lessons Learned

This article details the Anjuke Android app’s transition to a platform-based architecture, describing the background, challenges of scaling and cross‑team collaboration, the design of a unified middle layer, hybrid SDK, dynamic routing, gray‑release strategies, and the insights gained from the extensive refactoring effort.

AndroidGray ReleaseHybrid SDK
0 likes · 18 min read
Platformization and Architecture Refactoring of the Anjuke Android App: Challenges, Solutions, and Lessons Learned
iQIYI Technical Product Team
iQIYI Technical Product Team
Dec 27, 2019 · Mobile Development

QR Code Scanning Performance Optimization in iQIYI Mobile App

The iQIYI mobile app boosted QR‑code scanning by redesigning the pipeline—removing YUV‑to‑RGB conversion, limiting formats, cropping preview, parallelizing frame handling, improving focus and zoom, and adding adaptive binarization with OpenCV—raising success from ~30% to 75% and cutting average latency from 2.1 s to 722 ms.

AndroidQR codeZXing
0 likes · 17 min read
QR Code Scanning Performance Optimization in iQIYI Mobile App
OPPO Kernel Craftsman
OPPO Kernel Craftsman
Dec 27, 2019 · Mobile Development

Why Android Uses Binder: Deep Dive into Its IPC Architecture

This article explains Android's Binder IPC framework, covering its layered architecture, the reasons behind its design—including object reference management, performance, stability, and security—and details the software and communication protocols that enable inter‑process communication on the platform.

AndroidBinderIPC
0 likes · 17 min read
Why Android Uses Binder: Deep Dive into Its IPC Architecture
JD Retail Technology
JD Retail Technology
Dec 24, 2019 · Mobile Development

Implementing Java and Native Crash Monitoring on Android with the Eagle Eye System

This article explains how to capture and report both Java and native crashes on Android using the Eagle Eye monitoring system, detailing the use of Thread.UncaughtExceptionHandler, Linux signal mechanisms, sigaction registration, alternative stacks, and native stack parsing with libbacktrace to improve app stability.

AndroidCrash MonitoringEagle Eye
0 likes · 12 min read
Implementing Java and Native Crash Monitoring on Android with the Eagle Eye System
Alibaba International Technology
Alibaba International Technology
Dec 20, 2019 · Mobile Development

Mastering Mobile Architecture: Boost Efficiency with Wireless App Design

This article shares an Alibaba engineer’s comprehensive insights on wireless (mobile) architecture, covering stakeholder analysis, engineering structure, code coupling, component reuse, technology decisions, performance comparison of Flutter and Weex, tooling, stability, leadership, organization, modularization, and future expansion to help developers improve efficiency and product quality.

AndroidArchitecturedevelopment
0 likes · 31 min read
Mastering Mobile Architecture: Boost Efficiency with Wireless App Design
Youzan Coder
Youzan Coder
Dec 20, 2019 · Mobile Development

EnjoyDependence: Full Build Acceleration Solution for Android Componentized Projects

Youzan’s EnjoyDependence Gradle plugin dramatically speeds Android full builds—cutting compilation of their 450K‑line, Kotlin‑heavy project from over 15 minutes to under three—by managing dependencies, publishing AARs, and swapping source modules with prebuilt artifacts without altering project structure, while remaining stable and easy to adopt.

AAR PublishingAndroidBuild Optimization
0 likes · 12 min read
EnjoyDependence: Full Build Acceleration Solution for Android Componentized Projects
Amap Tech
Amap Tech
Dec 20, 2019 · Mobile Development

Automated UI Generation for Car Navigation: Sketch Plugin‑Based Solution and Technical Practice

By leveraging a custom Sketch‑plugin workflow that extracts layered designs into an extensible widget and ConstraintLayout system, the Amap team automated car‑navigation UI generation, enabling rapid theme‑customisation, pixel‑perfect verification, and resource integration, cutting design effort by over 50 % and development effort by more than 80 %.

AndroidConstraintLayoutSketch
0 likes · 11 min read
Automated UI Generation for Car Navigation: Sketch Plugin‑Based Solution and Technical Practice
Product Technology Team
Product Technology Team
Dec 18, 2019 · Mobile Development

Mastering Android Componentization: A Practical Guide to Modular Mobile Apps

This article explains why Android projects adopt componentization, outlines its goals, presents a three‑layer architecture, and provides step‑by‑step instructions for creating modules, managing Gradle settings, handling manifests, routing, event buses, and enabling independent module execution to improve maintainability and development efficiency.

ARouterAndroidEventBus
0 likes · 18 min read
Mastering Android Componentization: A Practical Guide to Modular Mobile Apps
58 Tech
58 Tech
Dec 13, 2019 · Mobile Development

Refactoring the IM Module: Layered Architecture, Parallel Development and Business‑Line Splitting

This article describes the redesign of a large‑scale Android instant‑messaging (IM) module, detailing the shortcomings of the original architecture, the new three‑layer framework, the split‑converter for parallel business‑line development, component‑based UI design, and the design‑pattern techniques used to achieve a maintainable, extensible solution.

AndroidArchitectureComponentization
0 likes · 16 min read
Refactoring the IM Module: Layered Architecture, Parallel Development and Business‑Line Splitting
360 Tech Engineering
360 Tech Engineering
Dec 13, 2019 · Mobile Development

Android Battery Power Consumption Testing Guide

This guide explains how to assess Android device power usage through hardware meters and the Battery Historian tool, covering setup, command‑line procedures, data collection, parameter interpretation, and methods for improving result reliability.

AndroidBattery Testingperformance testing
0 likes · 8 min read
Android Battery Power Consumption Testing Guide
iQIYI Technical Product Team
iQIYI Technical Product Team
Dec 6, 2019 · Mobile Development

Performance Optimization of iQIYI Android App Startup

By forming a dedicated team and creating the Lens SDK with a TaskManager framework that breaks startup work into independent, concurrent, and condition‑driven tasks—while delaying non‑critical work, adding fallback handling, and continuously monitoring performance—iQIYI cut its Android app launch time from roughly 1.5 seconds to under 0.5 seconds.

AndroidMobile Developmentstartup-optimization
0 likes · 8 min read
Performance Optimization of iQIYI Android App Startup
JD Retail Technology
JD Retail Technology
Dec 6, 2019 · Mobile Development

Android OOM Analysis and the Shooter Offline Memory Profiling Tool

The article explains common Android Out‑Of‑Memory scenarios, traditional analysis methods, and introduces the Shooter offline memory analysis system that parses hprof snapshots, builds dominator trees, computes shallow and retained sizes, and visualizes reference chains to help developers locate memory leaks and OOM causes.

AndroidHeap AnalysisLeakCanary
0 likes · 17 min read
Android OOM Analysis and the Shooter Offline Memory Profiling Tool
Sohu Tech Products
Sohu Tech Products
Dec 4, 2019 · Mobile Development

Understanding MVC, MVP, and MVVM in Android with a Three‑in‑One Demo

This tutorial walks through Android implementations of MVC, MVP (using Mosby), and MVVM (with DataBinding), providing concise explanations, annotated code snippets, and a unified demo that lets beginners quickly grasp the differences and start building each architectural pattern in just ten minutes.

AndroidArchitectureDataBinding
0 likes · 12 min read
Understanding MVC, MVP, and MVVM in Android with a Three‑in‑One Demo
vivo Internet Technology
vivo Internet Technology
Dec 4, 2019 · Mobile Development

Analysis of Glide Lifecycle Management in Android

The article dissects Glide’s lifecycle management by tracing how Glide.with creates a singleton RequestManager via RequestManagerRetriever, caches headless RequestManagerFragments, forwards Activity/Fragment callbacks through ActivityFragmentLifecycle to pause, resume, or clear image requests, monitors network changes with a ConnectivityMonitor, and responds to memory pressure via component callbacks, thereby integrating Android component lifecycles, connectivity, and memory management into its image‑loading engine.

AndroidGlideimage loading
0 likes · 18 min read
Analysis of Glide Lifecycle Management in Android
FangDuoduo UEDC
FangDuoduo UEDC
Dec 2, 2019 · Mobile Development

Designing Mobile Apps for One‑Handed Use: Tips and Solutions

This article examines how increasing smartphone screen sizes affect one‑handed usability, presents the prevalence of right‑thumb usage, compares iOS and Android one‑handed modes, and offers design recommendations to improve layout and button placement for better single‑hand interaction.

AndroidMobile UIUsability
0 likes · 5 min read
Designing Mobile Apps for One‑Handed Use: Tips and Solutions
Watermelon Video Tech Team
Watermelon Video Tech Team
Nov 29, 2019 · Mobile Development

Scene: ByteDance’s Open‑Source Android Single‑Activity Navigation and Composition Framework

Scene is an open‑source Android framework from ByteDance’s Xigua video team that provides lightweight, view‑based page navigation and composition for Single‑Activity applications, addressing Activity/Fragment limitations with flexible stack management, shared‑element animations, and ViewModel‑based communication.

AndroidAnimationFragment
0 likes · 14 min read
Scene: ByteDance’s Open‑Source Android Single‑Activity Navigation and Composition Framework
Meituan Technology Team
Meituan Technology Team
Nov 28, 2019 · Mobile Development

Containerization Architecture for Meituan Waimai Order Page

Meituan Waimai’s order page adopted a container‑based architecture that isolates over 30 UI modules into dynamically registered Blocks, uses a Root Block context for data distribution and command/event communication, cuts controller code and bundle size, enables parallel development, and unifies Android and iOS implementations via server‑driven configuration.

AndroidDynamic UIMobile Development
0 likes · 20 min read
Containerization Architecture for Meituan Waimai Order Page
Architecture Digest
Architecture Digest
Nov 28, 2019 · Mobile Development

Designing Entity Classes and Architecture for Small Android Apps

This article shares practical experiences and techniques for Android app development, covering entity class organization, graceful network data handling with Retrofit, robust repository patterns, and clean UI layering using MVVM, DataBinding, and LiveData.

AndroidDataBindingEntity Design
0 likes · 8 min read
Designing Entity Classes and Architecture for Small Android Apps
21CTO
21CTO
Nov 19, 2019 · Fundamentals

Will the US Supreme Court End the Android API Copyright Battle?

The US Supreme Court has agreed to revisit the landmark Java API copyright dispute between Oracle and Google, a case that could reshape software licensing and API protection, with hearings likely postponed until next year, while the tech community watches closely.

API copyrightAndroidJava
0 likes · 6 min read
Will the US Supreme Court End the Android API Copyright Battle?
Meituan Technology Team
Meituan Technology Team
Nov 14, 2019 · Mobile Development

Probe Component for Fast Online OOM Diagnosis in Android Apps

The Probe component continuously monitors Android app memory, automatically captures trimmed HPROF snapshots when usage spikes, and analyzes them either on‑device with the HAHA library or on a server, enabling rapid OOM root‑cause localization, thread/FD tracking, and has lowered the rider app’s crash rate from 2‰ to roughly 0.02‰.

AndroidHprofMemory Leak
0 likes · 22 min read
Probe Component for Fast Online OOM Diagnosis in Android Apps
JD Retail Technology
JD Retail Technology
Nov 14, 2019 · Mobile Development

Shooter Mobile Performance Monitoring Platform: Architecture, Implementation, and Key Monitoring Dimensions

The article introduces Shooter, a mobile performance monitoring platform for Android that provides non‑intrusive, lightweight SDKs to monitor app startup, jank, network, native page, and WebView performance, explains the technical solutions, data collection methods, and showcases console visualizations and real‑world empowerment cases.

AndroidWebViewapp startup
0 likes · 14 min read
Shooter Mobile Performance Monitoring Platform: Architecture, Implementation, and Key Monitoring Dimensions
vivo Internet Technology
vivo Internet Technology
Nov 12, 2019 · Mobile Development

Analysis of Vivo Web Service Engine Based on the Qidian Kernel

The article examines Vivo Web Service, a lightweight, extensible SDK built on the high‑performance Qidian kernel, which delivers superior dark‑mode rendering, stability, compatibility and security, and enables dynamic WebView switching, cloud proxy, JSBridge, a fast media player, and a plugin‑based architecture that supports independent app instances and future kernel upgrades.

AndroidMobile DevelopmentSDK
0 likes · 9 min read
Analysis of Vivo Web Service Engine Based on the Qidian Kernel
Meituan Technology Team
Meituan Technology Team
Nov 7, 2019 · Mobile Development

Optimizing Static Code Scanning for Android Projects: Full and Incremental Scan Strategies

The article outlines how integrating CheckStyle, Lint, and FindBugs with a custom Gradle plugin, applying full‑scan optimizations to collect only necessary source and class files and implementing incremental scans that target only files changed in a PR, cuts Android CI static‑analysis time by over 50 %, dropping full scans from nine to five minutes and enabling sub‑minute incremental checks.

AndroidCIGradle
0 likes · 30 min read
Optimizing Static Code Scanning for Android Projects: Full and Incremental Scan Strategies
FangDuoduo UEDC
FangDuoduo UEDC
Nov 6, 2019 · Product Management

Why iOS Takes 30% on Virtual Goods and How to Design Fair Pricing

This article compares iOS and Android virtual‑goods purchase rules, explains the 30% Apple commission, and outlines two pricing design options—shifting the fee to users or absorbing it yourself—while warning about cross‑platform balance incompatibility.

AndroidPricing Strategyapp monetization
0 likes · 4 min read
Why iOS Takes 30% on Virtual Goods and How to Design Fair Pricing
360 Quality & Efficiency
360 Quality & Efficiency
Nov 1, 2019 · Mobile Development

Using uiautomator1.0 for Android Automation: Shell Context, PackageManager, Database, Activity & Process Monitoring, and Chinese Input Support

This article demonstrates how to leverage uiautomator1.0 for Android automation by creating a shell‑based Context, accessing PackageManager, managing SQLite databases, monitoring app activities and processes, and implementing Chinese text input through AccessibilityNodeInfo.

Androidautomationdatabase
0 likes · 4 min read
Using uiautomator1.0 for Android Automation: Shell Context, PackageManager, Database, Activity & Process Monitoring, and Chinese Input Support
21CTO
21CTO
Oct 23, 2019 · Mobile Development

How Android Supports Java 8 Lambda: From invokedynamic to RetroLambda & D8

This article explains the principles behind Java 8 lambda expressions and the invokedynamic bytecode instruction, then examines how Android indirectly supports these features through tools like RetroLambda, Jack & Jill, and the D8 dex compiler, detailing their desugaring processes and limitations.

AndroidD8Desugar
0 likes · 16 min read
How Android Supports Java 8 Lambda: From invokedynamic to RetroLambda & D8
Meituan Technology Team
Meituan Technology Team
Oct 17, 2019 · Mobile Development

Understanding Java 8 Lambda Support on Android: invokedynamic, RetroLambda, Jack & Jill, and D8

The article explains how Java 8 lambda expressions rely on the invokedynamic bytecode instruction, and how Android compensates for its absence by desugaring lambdas through RetroLambda, the now‑deprecated Jack & Jill toolchain, and the modern D8 compiler, each generating synthetic classes for runtime execution.

AndroidD8Desugar
0 likes · 14 min read
Understanding Java 8 Lambda Support on Android: invokedynamic, RetroLambda, Jack & Jill, and D8
Xianyu Technology
Xianyu Technology
Oct 17, 2019 · Mobile Development

Flutter‑boot: Engineering Hybrid Flutter Modules for Mobile Development

Flutter‑boot is an open‑source CLI that streamlines hybrid Flutter module development by providing a standardized project layout and automated commands—create, link, remotelink, and update—to integrate Flutter into existing iOS/Android apps, enable local and cloud builds, and cut setup to a single command and two lines of code.

AndroidFlutterFlutter-boot
0 likes · 12 min read
Flutter‑boot: Engineering Hybrid Flutter Modules for Mobile Development
Amap Tech
Amap Tech
Oct 16, 2019 · Mobile Development

Design and Implementation of a Flexible Theme Customization Solution for Car Navigation Applications

The article presents a flexible, Sketch‑driven theme‑customization workflow for car‑navigation apps in which UED designers create and upload resources to a cloud platform, Jenkins packages them into the APK, and real‑device previews verify the result, enabling developers‑free, low‑cost, rapid, and maintainable UI theming across multiple projects.

AndroidJenkinsMobile UI
0 likes · 11 min read
Design and Implementation of a Flexible Theme Customization Solution for Car Navigation Applications
Baidu App Technology
Baidu App Technology
Oct 15, 2019 · Mobile Development

Multi-Child View Nested Scrolling Solution in Baidu App

Baidu App replaced its original two‑view nested‑scrolling setup with a flexible, component‑based solution that leverages Android’s NestedScrolling API to coordinate any number of child views—via ILinkageScroll, LinkageScrollHandler and ChildLinkageEvent—handling pre‑scroll, fling, scrollbar aggregation, and a Xiaomi‑specific OverScroller fix, with code available open‑source.

AndroidCustom ViewFling Gesture
0 likes · 15 min read
Multi-Child View Nested Scrolling Solution in Baidu App
FunTester
FunTester
Oct 6, 2019 · Mobile Development

Comprehensive Android App Testing Checklist and Considerations

This article provides a detailed checklist of Android app testing items—including smoke, installation, functionality, stability, performance, security, and special scenario tests—along with practical tips, links to technical resources, and notes on quality platform integration.

AndroidMobile Developmentapp testing
0 likes · 17 min read
Comprehensive Android App Testing Checklist and Considerations
FunTester
FunTester
Sep 30, 2019 · Mobile Development

Add a Screen Wake‑Up Reminder to UiAutomator Tests

This article shows how to implement a post‑test reminder for UiAutomator by using screen sleep and wake‑up logic, providing Java code that checks the screen state, re‑activates it if needed, and optionally sets screen brightness via an ADB command.

AndroidJavaScreen Reminder
0 likes · 3 min read
Add a Screen Wake‑Up Reminder to UiAutomator Tests
FunTester
FunTester
Sep 29, 2019 · Operations

How 4399AT Enables a Practical Android CI/CD Automation Pipeline

This article explains the differences between CI, continuous delivery, and continuous deployment, then details a Jenkins‑based pipeline that uses Gradle, 4399AT, Sonar, GitLab, Tomcat, and Nginx to automate building, testing, and reporting for Android applications.

AndroidAutomation TestingCI/CD
0 likes · 6 min read
How 4399AT Enables a Practical Android CI/CD Automation Pipeline
360 Quality & Efficiency
360 Quality & Efficiency
Sep 27, 2019 · Mobile Development

Using ADBLib in Android: Setup, Step‑by‑Step Guide, and Underlying Principles

This article explains how to integrate and use ADBLib within an Android app, covering required Gradle and manifest configurations, step‑by‑step procedures for establishing a TCP/IP connection, generating encryption keys, retrieving the device IP, creating socket connections, and executing ADB commands, along with an overview of ADBLib’s underlying architecture.

ADBADBLibAndroid
0 likes · 6 min read
Using ADBLib in Android: Setup, Step‑by‑Step Guide, and Underlying Principles
vivo Internet Technology
vivo Internet Technology
Sep 25, 2019 · Mobile Development

Analysis of Glide Image Loading Cache Mechanisms on Android

The article dissects Glide’s five‑level caching system—active resources, memory cache, resource and data disk caches, and network cache—explaining how active weak references feed the LRU memory cache, how DiskCacheStrategy governs transformed and raw data storage, and how I/O and network tasks run on separate executors while network responses are cached before delivery.

AndroidDisk CacheGlide
0 likes · 21 min read
Analysis of Glide Image Loading Cache Mechanisms on Android
Jike Tech Team
Jike Tech Team
Sep 25, 2019 · Mobile Development

Why Kotlin Differs from Java: Constructors, init Blocks, and Static Alternatives

This article explores the key differences between Kotlin and Java for Android development, covering constructors, init blocks, val versus final, static equivalents with companion objects, top‑level declarations, arrays, collections, sequences, visibility modifiers, and includes practical exercises.

AndroidCollectionsCompanion Object
0 likes · 23 min read
Why Kotlin Differs from Java: Constructors, init Blocks, and Static Alternatives
Qunar Tech Salon
Qunar Tech Salon
Sep 25, 2019 · Mobile Development

Understanding the Core Principles of APK Installation on Android

This article explains how Android parses the AndroidManifest, assigns UID and updates permissions during APK installation, covering system boot installation, PMS‑driven third‑party, ADB and Market installations, and provides code snippets to illustrate the underlying mechanisms.

APKAndroidInstallation
0 likes · 14 min read
Understanding the Core Principles of APK Installation on Android
21CTO
21CTO
Sep 24, 2019 · Mobile Development

Master Kotlin for Android with Google’s Free Udacity Courses

Google and Udacity have launched two free Kotlin video courses that teach beginners the language fundamentals and guide them through building Android apps, covering Jetpack components, popular libraries, and coroutines, ultimately enabling the creation of over ten practical applications.

AndroidFree CourseGoogle
0 likes · 4 min read
Master Kotlin for Android with Google’s Free Udacity Courses
Jike Tech Team
Jike Tech Team
Sep 24, 2019 · Mobile Development

Master Kotlin for Android: A Quick Start Guide for Mobile Developers

This guide walks Android engineers through adding Kotlin support to new or existing projects, explains Kotlin's variable declarations, null‑safety features, type inference, val/var usage, visibility modifiers, class inheritance, open/final semantics, and safe casting, providing concise code examples and practical tips.

AndroidClassesFunctions
0 likes · 25 min read
Master Kotlin for Android: A Quick Start Guide for Mobile Developers
Meituan Technology Team
Meituan Technology Team
Sep 19, 2019 · Mobile Development

Optimizing MTFlexbox Performance with Litho in Meituan App

By replacing MTFlexbox’s deep view hierarchy with Litho’s flattened component tree and moving template parsing to a background thread, Meituan’s app cuts memory usage by over 30 MB, removes FPS spikes on low‑end devices, and improves scrolling performance while preserving custom‑tag and image handling.

AndroidLithoMTFlexbox
0 likes · 15 min read
Optimizing MTFlexbox Performance with Litho in Meituan App
360 Tech Engineering
360 Tech Engineering
Sep 17, 2019 · Mobile Development

Design and Implementation of a Modular Mobile Application Framework

This article describes the background, design principles, layered architecture, and implementation details of a modular mobile framework that separates business, functional, UI, and support layers to enable rapid app development, easy extension, and reduced coupling.

AndroidDesign Patternslayered design
0 likes · 9 min read
Design and Implementation of a Modular Mobile Application Framework
Meituan Technology Team
Meituan Technology Team
Sep 12, 2019 · Mobile Development

How Meituan Engineered a Scalable Mobile Video Platform: Architecture and Lessons

This article details Meituan's end‑to‑end development of a merchant‑side mobile video feature, covering background needs, architecture design, technology selection, implementation of playback, recording, composition, cutting, processing pipelines, encountered pitfalls, monitoring strategies, and future optimization directions.

AndroidArchitectureMediaCodec
0 likes · 24 min read
How Meituan Engineered a Scalable Mobile Video Platform: Architecture and Lessons
FunTester
FunTester
Sep 12, 2019 · Mobile Development

How to Distinguish UI Controls by Color Using UiAutomator in Android

The author shares a practical UiAutomator solution that captures screenshots, extracts bitmap data, and analyzes pixel colors to programmatically determine whether a UI element appears blue, including reusable helper methods for retrieving individual red, green, blue, or full RGB values.

AndroidColor DetectionJava
0 likes · 6 min read
How to Distinguish UI Controls by Color Using UiAutomator in Android
Ctrip Technology
Ctrip Technology
Sep 11, 2019 · Mobile Development

Practical Guide to Kotlin DSL: Applications, Examples, and Building Your Own DSL

This article introduces Kotlin DSL concepts, demonstrates real‑world applications such as Trip.com payment network encapsulation, overseas payment SDK Gradle scripts, Anko layouts, and provides a step‑by‑step example for creating a custom DSL, highlighting benefits, trade‑offs, and best practices for mobile development.

AndroidAnkoDSL
0 likes · 11 min read
Practical Guide to Kotlin DSL: Applications, Examples, and Building Your Own DSL
FunTester
FunTester
Sep 11, 2019 · Mobile Development

Automating Multi‑Channel Login Tests with UiAutomator and Java

This article explains how to automate the login process for multiple Android channel packages by packaging a Java UiAutomator script into a JAR, pushing it to the device, iterating over each APK, executing ADB commands, and logging success or failure for each login method.

ADBAndroidAutomation Testing
0 likes · 8 min read
Automating Multi‑Channel Login Tests with UiAutomator and Java
FunTester
FunTester
Sep 4, 2019 · Mobile Development

A Flexible UiAutomator Helper for Android UI Testing – Full Source and Guide

This article presents a customizable Java helper class for Android UiAutomator that streamlines test project creation, build modification, APK deployment, and test execution, complete with detailed code, command explanations, and logging utilities for flexible mobile UI testing.

AndroidJavaUI testing
0 likes · 8 min read
A Flexible UiAutomator Helper for Android UI Testing – Full Source and Guide
FunTester
FunTester
Sep 2, 2019 · Mobile Development

Implementing Long‑Press Actions in Android UiAutomator Tests

This guide shows how to create reusable UiAutomator helper methods that perform long‑press actions on Android UI elements—by resource ID, visible text, or explicit coordinates—using a swipe call with a 300‑step duration, and mentions extending the approach to custom gesture paths.

AndroidLong PressUI testing
0 likes · 3 min read
Implementing Long‑Press Actions in Android UiAutomator Tests
FunTester
FunTester
Sep 1, 2019 · Mobile Development

Stabilizing Android Home‑Page Refresh with UiAutomator and Multithreading

This article explains how to use UiAutomator scripts combined with Java multithreading to continuously refresh an Android app’s home page while capturing logs and performance metrics, including full code examples for command execution, timestamp handling, and test loops.

ADBAndroidJava
0 likes · 6 min read
Stabilizing Android Home‑Page Refresh with UiAutomator and Multithreading
FunTester
FunTester
Aug 26, 2019 · Mobile Development

A Complete UiAutomator Utility Library for Android UI Testing

This article shares a comprehensive collection of reusable UiAutomator methods—including swipe gestures, screenshot handling, image analysis, UI element lookup, waiting strategies, click actions, scrolling, app launch/stop commands, and miscellaneous helpers—providing Android developers with ready‑to‑use Java code for robust UI automation testing.

AndroidJavaUI testing
0 likes · 21 min read
A Complete UiAutomator Utility Library for Android UI Testing
iQIYI Technical Product Team
iQIYI Technical Product Team
Aug 23, 2019 · Mobile Development

iQIYI One‑Click Android App Health Check: Architecture, Implementation and Key Technologies

iQIYI’s one‑click Android app health check provides a lightweight, universal solution that automatically installs, traverses, and analyzes apps on a 100‑device cloud farm using ATX‑based drivers, OCR‑driven UI interaction, deep‑learning UI anomaly detection, static security analysis, performance metrics, and crash/ANR reporting, seamlessly integrating into CI pipelines.

ATXAndroidApp Inspection
0 likes · 19 min read
iQIYI One‑Click Android App Health Check: Architecture, Implementation and Key Technologies
58 Tech
58 Tech
Aug 23, 2019 · Fundamentals

Importance of Video Encoding and Short Video SDK Encoding Solutions

The article explains why video encoding is essential for compression and compatibility, describes the video data processing pipeline, compares four encoding schemes (ffmpeg+x264, openh264, MediaRecorder, MediaCodec) offered by a short‑video SDK, and recommends suitable solutions for various recording and streaming scenarios.

AndroidFFmpegH264
0 likes · 9 min read
Importance of Video Encoding and Short Video SDK Encoding Solutions
FunTester
FunTester
Aug 23, 2019 · Mobile Development

Collect Android App FPS with ADB and a Multithreaded Java Helper

This guide shows how to use the adb shell dumpsys gfxinfo command to capture frame‑per‑second metrics for an Android app and provides a reusable Java class that runs in a separate thread, parses the output, and stores the results for performance analysis.

ADBAndroidJava
0 likes · 6 min read
Collect Android App FPS with ADB and a Multithreaded Java Helper
FunTester
FunTester
Aug 23, 2019 · Mobile Development

Running UiAutomator on macOS: Full‑Path Fixes and Common Pitfalls

When using UiAutomator on macOS you must prepend the full path to the Android command and adjust slash handling, otherwise you encounter "Cannot run program" errors; this guide shows the errors, the required fixes, and provides a complete Java helper class for automated testing.

AndroidJavaUIAutomator
0 likes · 10 min read
Running UiAutomator on macOS: Full‑Path Fixes and Common Pitfalls
FunTester
FunTester
Aug 19, 2019 · Frontend Development

Counting UI Elements in Android UiAutomator with a Custom Java Method

The article describes a problem encountered while learning Android UiAutomator—determining the number of assignment items on a screen—and presents a Java solution that iterates over UI elements using a custom getCountByResourceId() method, similar to Selenium's findElements(), with a code example illustrating the approach.

AndroidCode ExampleJava
0 likes · 2 min read
Counting UI Elements in Android UiAutomator with a Custom Java Method
FunTester
FunTester
Aug 18, 2019 · Mobile Development

How to Fully Clear Text Fields in Android UI Tests (Works for Chinese Characters)

When clearTextField() fails to delete entire content—especially for Chinese characters—in Android UI automation, this article presents a custom cleartext() method that retrieves the field length and programmatically sends delete key events to reliably clear the input.

AndroidMobile DevelopmentTextField
0 likes · 3 min read
How to Fully Clear Text Fields in Android UI Tests (Works for Chinese Characters)
Didi Tech
Didi Tech
Aug 17, 2019 · Artificial Intelligence

AoE (AI on Edge): Design Principles, Architecture, and Integration Guide

AoE (AI on Edge) is Didi’s open‑source runtime that unifies edge inference frameworks such as NCNN and TensorFlow Lite behind stable, easy‑to‑use and secure interfaces, isolates native code in a separate Android process, offers pre‑/post‑processing abstractions, provides Android/iOS SDKs, and invites developers to contribute via its GitHub repository.

AIAndroidInference Framework
0 likes · 10 min read
AoE (AI on Edge): Design Principles, Architecture, and Integration Guide
FunTester
FunTester
Aug 17, 2019 · Mobile Development

Draw a Heart Shape on Android with UiAutomator Math Functions

This tutorial shows how to use the polar equation of a heart, convert mathematical coordinates to screen coordinates, and employ UiAutomator's swipe method to draw a heart shape on an Android device using Java.

AndroidGraphicsJava
0 likes · 4 min read
Draw a Heart Shape on Android with UiAutomator Math Functions
Youzan Coder
Youzan Coder
Aug 16, 2019 · Mobile Development

Mastering Android Immersive Status Bar with ZanImmersionBar: A Complete Guide

This article provides a comprehensive walkthrough of Android's immersive status bar evolution, explains the three API stages from KitKat to Android 9, demonstrates practical code for each version, and shows how to use the ZanImmersionBar library to simplify and customize immersive UI across activities, fragments, dialogs, and pop‑ups.

AndroidImmersiveModeMobileDevelopment
0 likes · 23 min read
Mastering Android Immersive Status Bar with ZanImmersionBar: A Complete Guide
FunTester
FunTester
Aug 15, 2019 · Mobile Development

Using UiWatcher to Automatically Dismiss Android Security Warning Dialogs

The author encountered unexpected security‑warning pop‑ups during Android UIAutomator testing and created a UiWatcher that automatically clicks "Do not remind" and "Allow" to keep the test flow uninterrupted, sharing the full code for others to use.

AndroidMobileTestingSecurityWarning
0 likes · 2 min read
Using UiWatcher to Automatically Dismiss Android Security Warning Dialogs
Sohu Tech Products
Sohu Tech Products
Aug 14, 2019 · Mobile Development

Building an Android Input Method (IME) for Emoji/Sticker Sending in WeChat

This article explains how to develop an Android input‑method service that displays a custom emoji keyboard, retrieves image paths, commits them to the active app, and uses AccessibilityService to automate sending, covering project setup, core APIs, XML keyboard layout, and advanced optimization techniques.

AccessibilityServiceAndroidInputMethodService
0 likes · 18 min read
Building an Android Input Method (IME) for Emoji/Sticker Sending in WeChat
macrozheng
macrozheng
Aug 14, 2019 · Mobile Development

Harmony OS Cross‑Device Compatibility: Architecture, Java & Ark Compiler

This article reviews Harmony OS, detailing its distributed architecture, four key technical features, the concept of cross‑platform as cross‑device, compares Java and Android’s compilation approaches, and explains how Huawei’s Ark Compiler and multi‑device IDE enable true cross‑device development and efficient execution across phones, wearables, cars and other smart devices.

AndroidArk CompilerJava
0 likes · 11 min read
Harmony OS Cross‑Device Compatibility: Architecture, Java & Ark Compiler
FunTester
FunTester
Aug 10, 2019 · Mobile Development

How to Capture and Gracefully Stop Android Logcat in UiAutomator

This guide explains how to use Java's Runtime API within a UiAutomator test to start, filter, and safely terminate an adb logcat process, including a complete Logcat thread implementation and tips for preventing oversized log files.

AndroidJavaUIAutomator
0 likes · 8 min read
How to Capture and Gracefully Stop Android Logcat in UiAutomator
FunTester
FunTester
Aug 10, 2019 · Mobile Development

Measure Android App Launch Time Using Logcat and Multithreading

This article presents a Java‑based solution that repeatedly launches and closes an Android app while capturing logcat output to automatically calculate splash‑screen and home‑screen launch times, providing a reproducible method for accurate performance testing.

AndroidJavaLaunch Time
0 likes · 8 min read
Measure Android App Launch Time Using Logcat and Multithreading
360 Quality & Efficiency
360 Quality & Efficiency
Aug 9, 2019 · Mobile Development

Building Uiautomator 1.0 Jar with Ant in Android Studio

This guide explains how to construct a Uiautomator 1.0 jar package using Ant within Android Studio, covering required SDK tools, project setup, build.xml generation, Gradle integration, jar composition, execution flow, and a sample custom test service implementation for Android testing.

AndroidAntMobile Development
0 likes · 6 min read
Building Uiautomator 1.0 Jar with Ant in Android Studio