Tagged articles

Android

1846 articles · Page 13 of 19
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.

AndroidComponentizationDesign Patterns
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 TestingPower Consumption
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.

AndroidDataBindingMVC
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.

AndroidFragmentNavigation
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 UIModular Architecture
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‰.

AndroidHprofOOM
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.

Androidapp startupjank monitoring
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.

AndroidSDKmobile development
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.

Androidapp monetizationiOS
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.

AndroidDatabaseMonitoring
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.

Androidapp testingmobile development
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.

AndroidCacheDisk Cache
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.

AndroidClassesKotlin
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 PatternsModular Architecture
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.

AndroidMediaCodecOptimization
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
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.

AccessibilityServiceAndroidEmoji
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
FunTester
FunTester
Aug 9, 2019 · Mobile Development

Programmatically Controlling WiFi for Stable Android Monkey Testing

When running unattended Android monkey tests, unexpected WiFi shutdowns can disrupt results, so this guide shows how to build a lightweight Java app that checks WiFi status every minute and toggles it every ten minutes using ADB commands to keep the network stable.

ADBAndroidJava
0 likes · 5 min read
Programmatically Controlling WiFi for Stable Android Monkey Testing
Qunar Tech Salon
Qunar Tech Salon
Aug 7, 2019 · Mobile Development

Performance Optimization of Baidu App Landing Page: Hybrid Architecture, Backend Direct Output, Prefetch and Interception

This article details how Baidu App reduced the landing‑page first‑screen load from over 2600 ms to under 2000 ms by analyzing user feedback, instrumenting each loading stage of its Hybrid H5 solution, and applying a series of backend‑direct‑output, prefetch, WebView pre‑creation, lazy‑load and kernel‑level rendering optimizations together with code‑level fixes.

AndroidPrefetchbackend rendering
0 likes · 18 min read
Performance Optimization of Baidu App Landing Page: Hybrid Architecture, Backend Direct Output, Prefetch and Interception
360 Tech Engineering
360 Tech Engineering
Aug 6, 2019 · Mobile Development

Performance Comparison of JSON, Protocol Buffers, and FlatBuffers for H5‑Hybrid and Flutter Data Transmission

This article presents a real‑device performance test of three data serialization structures—JSON, Protocol Buffers, and FlatBuffers—used in H5‑Hybrid and Flutter development, analyzing their size, serialization/deserialization speed, and suitability for Android, Flutter, and H5 communication channels.

AndroidFlatBuffersFlutter
0 likes · 13 min read
Performance Comparison of JSON, Protocol Buffers, and FlatBuffers for H5‑Hybrid and Flutter Data Transmission
FunTester
FunTester
Aug 3, 2019 · Mobile Development

Recursive Login Handling in Android UiAutomator for Automated Testing

To avoid test failures caused by being logged into an unintended account, the author implements a recursive login routine in an Android UiAutomator script that checks the current user, logs out if necessary, and re‑logs in with the correct credentials, illustrating a concise and reusable testing solution.

AndroidRecursive FunctionUI automation
0 likes · 2 min read
Recursive Login Handling in Android UiAutomator for Automated Testing
vivo Internet Technology
vivo Internet Technology
Jul 29, 2019 · Mobile Development

ARetrofit: Android Component Communication Routing Framework

ARetrofit is an Android routing framework that enables concise, component‑to‑component communication by generating compile‑time route metadata via annotation processing, injecting bytecode with the Transform API, creating service proxies through dynamic proxies, and applying an OkHttp‑style interceptor chain for flexible, cross‑module extensions.

AOPAndroidAnnotation Processor
0 likes · 13 min read
ARetrofit: Android Component Communication Routing Framework
Youzan Coder
Youzan Coder
Jul 26, 2019 · Mobile Development

Flutter Hybrid Integration Solution for Native Mobile Apps

The article presents YouZan’s hybrid integration strategy that packages each Flutter feature as an independent artifact—AAR files for Android and frameworks for iOS—allowing native teams to embed Flutter modules via simple scripts and Maven uploads without needing a full Flutter development environment.

AARAndroidFlutter
0 likes · 12 min read
Flutter Hybrid Integration Solution for Native Mobile Apps
Youzan Coder
Youzan Coder
Jul 24, 2019 · Mobile Development

Mastering Flutter Plugins: Architecture, Development, Testing, and Publishing

This comprehensive guide explains what Flutter plugins are, why they are essential, the MethodChannel communication model, step‑by‑step plugin creation, common pitfalls, testing strategies, publishing to public or private repositories, and a real‑world case study of a routing plugin, providing all the code and configuration details developers need to build and distribute their own Flutter plugins.

AndroidDARTFlutter
0 likes · 20 min read
Mastering Flutter Plugins: Architecture, Development, Testing, and Publishing
Youzan Coder
Youzan Coder
Jul 19, 2019 · User Experience Design

How UI Standardization Transformed Youzan Retail’s Mobile Apps

This article details the background, challenges, and step‑by‑step solution for standardizing UI across Youzan Retail’s iOS and Android apps, covering designer and developer perspectives, the creation of a shared style library, component architecture, resource management, delivery outcomes, pitfalls, and future automation plans.

AndroidSketchUI design
0 likes · 17 min read
How UI Standardization Transformed Youzan Retail’s Mobile Apps
360 Quality & Efficiency
360 Quality & Efficiency
Jul 19, 2019 · Mobile Development

Implementing Sequential UI Traversal for Android Apps Using UIAutomator on the 360 Open Testing Platform

This article explains how to perform ordered UI traversal of an Android application with UIAutomator on the 360 Open Testing platform, covering required parameters, a seven‑step implementation process, UI change listening via AccessibilityService, element dumping, sorting, comparison methods, interaction automation, and termination conditions.

360 Open TestingAccessibilityServiceAndroid
0 likes · 4 min read
Implementing Sequential UI Traversal for Android Apps Using UIAutomator on the 360 Open Testing Platform
Xianyu Technology
Xianyu Technology
Jul 16, 2019 · Mobile Development

Mobile Accessibility Optimization for Xianyu's Flutter & Native App

Xianyu integrated accessibility directly into its Flutter‑Native hybrid app, establishing a systematic workflow—from design to monitoring—that makes all interactive elements focusable, described, and properly ordered, enabling over 40 000 visually impaired users to navigate the marketplace with an 87.5% issue‑fix rate.

AndroidUIaccessibility
0 likes · 7 min read
Mobile Accessibility Optimization for Xianyu's Flutter & Native App
360 Tech Engineering
360 Tech Engineering
Jul 15, 2019 · Mobile Development

Detailed Analysis of Android ClassLoader Loading Mechanism

This article provides an in‑depth examination of Android's ClassLoader architecture, explaining how BaseDexClassLoader.findClass() and ClassLoader.loadClass() locate and load classes, with step‑by‑step source code analysis of loadClass, findLoadedClass, findClass, DexPathList, DexFile, and native class definition processes.

AndroidClassLoaderDEX
0 likes · 11 min read
Detailed Analysis of Android ClassLoader Loading Mechanism
Sohu Tech Products
Sohu Tech Products
Jul 10, 2019 · Mobile Development

Using Annotation Processing Tool (APT) for Automated Code Generation in Android Development

This article explains the concept and practical application of the Annotation Processing Tool (APT) in Android development, demonstrating how to set up an APT project, define annotations, process them with custom processors, and automatically generate Java code for activity navigation using JavaPoet.

AndroidAnnotation ProcessingJavaPoet
0 likes · 15 min read
Using Annotation Processing Tool (APT) for Automated Code Generation in Android Development
Youzan Coder
Youzan Coder
Jul 10, 2019 · Mobile Development

Implementation of Local Packet Capture in Youzan Mobile Assistant Using VPNService, tun2socks, and Socket.IO

The article details how the Youzan Mobile Assistant adds a local packet‑capture module that leverages Android VpnService/iOS NetworkExtension and tun2socks to route traffic through a SOCKS5 proxy, then uses Socket.IO to push request and response data in real time to the app’s UI while keeping the app alive in the background.

AndroidSocket.IOTun2socks
0 likes · 12 min read
Implementation of Local Packet Capture in Youzan Mobile Assistant Using VPNService, tun2socks, and Socket.IO
ITPUB
ITPUB
Jul 9, 2019 · Information Security

How Android Apps, Zoom, and Didi Expose Major Security and Privacy Gaps

Recent reports reveal that many Android apps secretly collect location and identifier data despite denied permissions, a zero‑day Zoom flaw lets any website hijack Mac cameras, and Didi adjusts its pricing, while a man released after splashing water on Baidu's CEO highlights broader tech‑related news.

AndroidDidiZoom
0 likes · 4 min read
How Android Apps, Zoom, and Didi Expose Major Security and Privacy Gaps