Convert Figma logo to code with AI

jackpal logoAndroid-Terminal-Emulator

A VT-100 terminal emulator for the Android OS

3,023
1,069
3,023
115

Top Related Projects

Termux - a terminal emulator application for Android OS extendible by variety of packages.

Gnirehtet provides reverse tethering for Android

Example code for "How-To SU"

12,626

greenDAO is a light & fast ORM solution for Android that maps objects to SQLite databases.

ConnectBot is the first SSH client for Android.

Quick Overview

Android-Terminal-Emulator is an open-source terminal emulator for Android devices. It provides a command-line interface for interacting with the Android system, allowing users to execute various commands and scripts directly on their Android devices.

Pros

  • Provides a full-featured terminal experience on Android devices
  • Supports multiple windows and customizable color schemes
  • Offers a wide range of built-in Linux commands and utilities
  • Allows for easy installation of additional command-line tools

Cons

  • May require root access for certain advanced features
  • User interface can be challenging for those unfamiliar with command-line interfaces
  • Limited support for newer Android versions and devices
  • Development appears to have slowed down in recent years

Code Examples

As Android-Terminal-Emulator is not a code library but rather a standalone application, there are no code examples to provide. The project is primarily used as an end-user application for interacting with the Android system through a command-line interface.

Getting Started

Since Android-Terminal-Emulator is an Android application, there's no code-based quick start. However, here are brief instructions for getting started with the app:

  1. Download the APK from the project's GitHub releases page or install it from the Google Play Store (if available).
  2. Install the APK on your Android device.
  3. Open the app and grant necessary permissions.
  4. You can now start using the terminal emulator to execute commands on your Android device.

Note that some features may require root access, and the app's functionality may vary depending on your device and Android version.

Competitor Comparisons

Termux - a terminal emulator application for Android OS extendible by variety of packages.

Pros of Termux

  • More comprehensive package management system with APT
  • Broader range of available packages and tools
  • Active development and frequent updates

Cons of Termux

  • Larger app size and resource usage
  • Steeper learning curve for beginners
  • May require root access for certain advanced features

Code Comparison

Android-Terminal-Emulator:

public class TerminalActivity extends Activity {
    private TerminalView mEmulatorView;
    private TerminalKeyListener mKeyListener;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mEmulatorView = new TerminalView(this, null);
        setContentView(mEmulatorView);
    }
}

Termux:

public class TerminalActivity extends Activity {
    private TerminalView mTerminalView;
    private TerminalSessionClient mTerminalSessionClient;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mTerminalView = new TerminalView(this, null);
        mTerminalSessionClient = new TerminalSessionClient(this);
        setContentView(mTerminalView);
    }
}

Both projects use similar structures for their main terminal activities, but Termux includes additional components like the TerminalSessionClient for enhanced functionality. Termux offers a more feature-rich environment with its package management system and wider range of available tools, making it suitable for advanced users. However, Android-Terminal-Emulator may be more lightweight and easier to use for basic terminal needs.

Gnirehtet provides reverse tethering for Android

Pros of gnirehtet

  • Focuses on reverse tethering, allowing sharing of computer's internet with Android device
  • Supports both rooted and non-rooted Android devices
  • Offers both command-line and graphical user interfaces

Cons of gnirehtet

  • Limited to reverse tethering functionality, not a full terminal emulator
  • Requires a computer to function, unlike Android-Terminal-Emulator which runs standalone
  • May have higher system requirements due to its networking capabilities

Code Comparison

gnirehtet (Kotlin):

override fun createTunnel(): Tunnel {
    val vpnService = VpnService()
    val tunnel = vpnService.establish()
    return Tunnel(tunnel)
}

Android-Terminal-Emulator (Java):

private void doOpenContextMenu() {
    if (mTermFocus != null) {
        mTermFocus.showContextMenu();
    }
}

While both projects are related to Android, they serve different purposes. gnirehtet focuses on network connectivity, while Android-Terminal-Emulator provides a terminal interface. The code snippets reflect these differences, with gnirehtet dealing with VPN services and Android-Terminal-Emulator handling UI interactions.

Example code for "How-To SU"

Pros of libsuperuser

  • Focused specifically on root access and superuser operations
  • Provides a comprehensive set of tools for managing root permissions
  • Actively maintained with regular updates and improvements

Cons of libsuperuser

  • Limited in scope compared to a full terminal emulator
  • May require more setup and configuration for basic terminal functionality
  • Less user-friendly for those seeking a simple terminal interface

Code Comparison

Android-Terminal-Emulator:

public class TerminalEmulator {
    public void processInput(byte[] buffer, int length) {
        // Process terminal input
    }
}

libsuperuser:

public class Shell {
    public static List<String> run(String shell, String[] commands, boolean wantSTDERR) {
        // Execute shell commands with root privileges
    }
}

The code snippets highlight the different focus areas of the two projects. Android-Terminal-Emulator provides a full terminal emulation experience, while libsuperuser concentrates on executing commands with root privileges.

Android-Terminal-Emulator offers a more comprehensive terminal environment, suitable for users who need a full-featured terminal on their Android devices. On the other hand, libsuperuser is ideal for developers who specifically need to work with root access and superuser operations in their applications.

12,626

greenDAO is a light & fast ORM solution for Android that maps objects to SQLite databases.

Pros of greenDAO

  • Specialized for database operations, offering efficient ORM for Android
  • Provides a simpler API for database interactions compared to raw SQL
  • Actively maintained with regular updates and improvements

Cons of greenDAO

  • Limited to database operations, lacking terminal emulation features
  • Requires additional setup and configuration for database schema
  • May introduce a learning curve for developers new to ORM concepts

Code Comparison

Android-Terminal-Emulator:

TermSession session = new TermSession();
session.setTermOut(new ByteQueue(4096));
session.setTermIn(new ByteQueue(4096));
session.initializeEmulator(80, 24);

greenDAO:

DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(context, "database-name", null);
SQLiteDatabase db = helper.getWritableDatabase();
DaoMaster daoMaster = new DaoMaster(db);
DaoSession daoSession = daoMaster.newSession();

Summary

Android-Terminal-Emulator focuses on providing terminal emulation capabilities for Android devices, while greenDAO is an Object-Relational Mapping (ORM) library designed to simplify database operations in Android applications. The choice between these repositories depends on the specific requirements of your project. If you need terminal functionality, Android-Terminal-Emulator is more suitable. For efficient database management in Android apps, greenDAO offers a robust solution with its ORM capabilities.

ConnectBot is the first SSH client for Android.

Pros of ConnectBot

  • Specifically designed for SSH connections, offering more robust SSH features
  • Supports public key authentication and key management
  • Active development with regular updates and bug fixes

Cons of ConnectBot

  • Limited to SSH connections, less versatile for general terminal emulation
  • Steeper learning curve for users unfamiliar with SSH

Code Comparison

ConnectBot (SSH connection setup):

HostBean host = new HostBean();
host.setHostname("example.com");
host.setUsername("user");
host.setPort(22);

Android-Terminal-Emulator (general terminal setup):

TermSession session = new TermSession();
session.setTermType("xterm");
session.setShellType(TermSettings.SHELL_TYPE_SYSTEM);

Key Differences

  • ConnectBot focuses on secure SSH connections, while Android-Terminal-Emulator provides a more general-purpose terminal experience
  • Android-Terminal-Emulator offers local shell access, making it suitable for on-device tasks
  • ConnectBot has better support for remote server management and secure file transfers

Use Cases

  • Choose ConnectBot for secure remote server access and management
  • Opt for Android-Terminal-Emulator for local Android shell access and general terminal emulation needs

Both projects are open-source and have their strengths, catering to different user needs in the mobile terminal emulation space.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Terminal Emulator for Android

Note: Terminal Emulator for Android development has ended. I am not accepting pull requests any more.

Terminal Emulator for Android is a terminal emulator for communicating with the built-in Android shell. It emulates a reasonably large subset of Digital Equipment Corporation VT-100 terminal codes, so that programs like "vi", "Emacs" and "NetHack" will display properly.

This application was previously named "Android Terminal Emulator". Same great application, just with a new name. (The change was made at the request of the Android trademark owner.)

This code is based on the "Term" application which is included in the Android Open Source Project. (Which I also wrote. :-) )

Download the Terminal Emulator for Android from Google Play

If you are unable to use the Play Store, you can also download from GitHub

See Building for build instructions.

Got questions? Please check out the FAQ. Thanks!

Please see the Recent Updates page for recent updates.