Code Monkey home page Code Monkey logo

android_development_shell_tools's Introduction

Android Development Shell Tools

Disclaimer

  • No wrong use or side effect of this project shall involve the responsibility of its developers.
    The scripts are shared as they are. Improvements are regularly done based on personal use
    and developers reports, but no instantaneous changes shall be requested by anyone.

    #include <std_disclaimer.h>
    /*
     * Your warranty is now void.
     *
     * I am not responsible for bricked devices, dead SD cards,
     * thermonuclear war, or you getting fired because the alarm app failed. Please
     * do some research if you have any concerns about features included in this ROM
     * before flashing it! YOU are choosing to make these modifications, and if
     * you point the finger at me for messing up your device, I will laugh at you.
     */

About the project

  • 'android_development_shell_tools' is a project I started in 2015
    to ease Android development, ADB usage, Git commands and related projects.
    Originally a private set of scripts, I made the project evolve towards
    a publically shareable set of tools that can be easily used and even configured
    by anyone interested in using advanced development tools and in winning time.
    It provides many functions and shortcuts to ease Android development.

  • The sources written and shared here are either meant to be used as they are,
    or to serve as a reference for commands and functions an Android developer needs.
    Developers or beginners interested in Shell commands and scripting
    can look into my sources and find documented commands and syntaxes,
    which can be used as a reference of Shell scripting and help making their own.


How to update with upstream changes

  • To keep a local sync of 'android_development_shell_tools' updated with upstream changes,
    simply run the shtoolssync; command and the updates will be downloaded.
    Local modifications will be lost through the update (read about git stash pop in that case)
    and the newest commits / improvements will be added to your available tools.

  • If you intend to keep personal or unfinished functions along this project,
    you can also look at the shell_users branch, a minimal variant
    that allows holding functions or macros separately (like credentials).


About the documentation and structure

  • The linked documentation holds a reference point to all functions and macros
    that this project provides, which details their purpose, and if present,
    details the <required> or [optional] parameters available.

  • The documentation is completely dynamically built, through a function I wrote
    to parse the whole project and to create this unique reference point.
    Functions and macros seen there will exist as presented in the documentation,
    there is no risk of irregularities between the list and the actual sources.

  • Scripts flagged "Standalone Import Ready" and starting with source <(curl -Ls...
    are able to be directly sourced through the provided commands in any terminal
    without the need of this project being synced locally or loaded in the Shell.
    This can be useful when using a different computer, when running from a root Shell,
    or even if you need a few functions for work to ease something.

  • The "extensions/" folder can hold self-coded scripts folders based on the scripts from
    'android_development_shell_tools' and be included along the regular ones.
    These scripts will not be lost with 'shtoolssync' and will stay in "extensions/".
    (Keeping a copy or symlinking extensions scripts is recommended for safety)
    If the new extension is generic enough for public use or interest,
    I can easily consider merging it in the common upstream sources.


Project and documentations


How to install the project

  • First, you need to clone this project locally
    git clone https://github.com/AdrianDC/android_development_shell_tools -b master;

  • To load the scripts, do source /path/to/folder/android_development_shell_tools.rc;

  • To permanently load the scripts in your Shell terminals,
    open the ~/.bashrc file, adapt and add the following lines:

    export ANDROID_DEV_DRIVE=/media/../AndroidDev;
    source "/.../android_development_shell_tools.rc";
  • The ANDROID_DEV_DRIVE variable is a reference folder I use
    for all Android projects, repositories, kernels and ROMs.
    You do not need it, but a few functions rely on it to ease things.


How to contribute to the project

  • Perform the scripts modifications, fixes or additions.

  • Update README.md documentation with shtoolsreadme;.

  • Commit the changes with git (refer to older commits for style)

  • Push your changes and create a pull-request once ready


Project contributors and modules

  • AdrianDC : android_development_shell_tools creator and main developer
  • Caio99BR : android_development_shell_tools user and contributor
  • multirom-dev : libbootimg evolutions originally by Tassadar
  • xiaolu : mkbootimg_tools submodule original developer

android_development_shell_tools's People

Contributors

adriandc avatar caio99br avatar daedroza avatar nitin1438 avatar sam3000 avatar

Watchers

James Cloos avatar Eliminater74 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.