Skip to content

ARC Command in ChromeOS: Managing Android Runtime

The arc command in ChromeOS provides powerful tools for managing and monitoring the Android Runtime environment. This chapter explores how to use these tools effectively through the Chrome OS Shell (crosh).

Understanding Network Types

When using network-related commands, you can specify different network types: - wifi: Wireless network connection - eth/ethernet: Wired network connection - cell/cellular: Mobile network connection - vpn: Virtual Private Network connection

If no network type is specified, the default network will be used.

Network Diagnostics

Ping Command

Test network connectivity to a specific host:

arc ping [NETWORK] [<ip address> | <hostname>]

Examples:

# Ping Google's DNS over WiFi
arc ping wifi 8.8.8.8

# Ping a domain name using default network
arc ping example.com

HTTP Testing

Perform GET requests to test web connectivity:

arc http [NETWORK] <url>

This command performs a GET request and displays the response headers, useful for debugging web connectivity issues.

Example:

arc http wifi https://www.google.com

DNS Resolution

Test domain name resolution:

arc dns [NETWORK] <domain>

Example:

arc dns wifi google.com

Proxy Configuration

Check proxy settings for specific URLs:

arc proxy <url>

This command shows how a given URL would be accessed through your current proxy configuration.

System Monitoring

Network Information

View connected network properties:

arc list networks

This command displays detailed information about all Android-connected networks.

Statistical Analysis

Socket Statistics

Monitor TCP connections and DNS activity:

arc stats sockets

This shows TCP connect and DNS statistics organized by Android apps.

Traffic Analysis

View packet statistics by application:

arc stats traffic

This command provides detailed traffic information for Android apps.

System Idle Statistics

Monitor system idle states:

arc stats idle

This shows how the Android system manages idle states.

Resource Monitoring

Process Overview

View system resource usage:

arc top

This provides a snapshot of resource usage, similar to the Linux top command.

CPU Usage

Monitor CPU utilization:

arc cpuinfo

This shows detailed CPU usage statistics for the Android environment.

Memory Usage

Check memory allocation:

arc meminfo

This displays comprehensive memory usage information for the Android subsystem.

Debug and Development

Tracing Configuration

Enable or disable ARCVM tracing from the host:

arc tracing [on | off]

This is particularly useful for debugging and development purposes.

Best Practices

  1. Network Diagnostics
  2. Start with ping tests to verify basic connectivity
  3. Use HTTP tests to verify web access
  4. Check DNS resolution if hostname access fails

  5. Performance Monitoring

  6. Regularly check resource usage with top and meminfo
  7. Monitor app-specific traffic patterns
  8. Track system idle statistics for battery optimization

  9. Troubleshooting

  10. Use network-specific commands to isolate connection issues
  11. Monitor socket statistics when debugging app connectivity
  12. Enable tracing for detailed debugging information

Common Use Cases

Debugging Network Issues

# Check basic connectivity
arc ping wifi google.com

# Verify DNS resolution
arc dns wifi problematic-domain.com

# Test web access
arc http wifi https://problematic-site.com

Performance Investigation

# Check system resources
arc top

# Monitor memory usage
arc meminfo

# View network statistics
arc stats traffic