ia

inception-android

Hands-off auto-configuration tools for android devices

Showing:

Popularity

Downloads/wk

0

GitHub Stars

103

Maintenance

Last Commit

6mos ago

Contributors

2

Package

Dependencies

4

License

GPL-3+

Categories

Readme

Inception

Inception is a set of tools for auto configuring android devices. You can do the following:

How it works

  • You bootstrap a new device configuration
  • Update the bootstrapped config, which is a JSON file, with all the changes you need
  • inception will compile your config into an Android OTA update package
  • Install the update package to your device in recovery mode
  • Or optionally let inception generate a cache partition img for your device, allowing you to deploy your update in bootloader/download mode
  • No ROM compilation is involved.

Inception does not create a full system image or compile roms. It bundles only the required changes in an Android update package and generates an update script which applies those changes. This results in update packages that are substantially smaller than when flashing a whole ROM.


DISCLAIMER

  • FLASHING DEVICES VOID THEIR WARRANTY
  • USE AT YOUR OWN RISK, I'M NOT RESPONSIBLE FOR BRICKING YOUR DEVICE.

Quick start:

Install

See installation

Bootstrap

incept bootstrap --base inception.device --variant myconfig

This will generate a configuration file for your variant

Use the following command to list current available variants

incept ls -l

Outputs:

Variants:
=========
inception.android.common    ~/.inception/variants/inception/android/common/common.json
inception.device.myconfig   ~/.inception/variants/inception/device/myconfig/myconfig.json

Edit ~/.inception/variants/inception/device/myconfig/myconfig.json

Override device settings, add wifi settings, add some apps, root the device and install busybox

For example:

{
    "__extends__": "inception.device",
    "device": {
        "name": "custom"
    },
    "update": {
        "__make__": true,
        "root_method": "supersu",
        "busybox": {
            "__make__": true
        },
        "network": {
            "aps": [
                {
                    "ssid": "Home network",
                    "security": "WPA-PSK",
                    "key": "CE3000FEED"
                }
            ]
        },
        "apps": {
            "com.whatsapp": {
                "apk": "myapps/whatsapp.apk"
            }
        }
    }
}

then:

Make

incept make --variant inception.device.myconfig

This will generate:

~/.inception/out/inception/device/myconfig/update.zip

Which is an OTA android update that you can install in several ways.

Hint You will find the full config that generated the OTA package at:

~/.inception/out/inception/device/myconfig/config.json

Inspect that file to see how a full config looks like, override any properties in your original config, run make again and see your changes easily going through.

Do more

Installation

On your system:

Requirements:

Install

git clone https://github.com/tgalal/inception.git
python setup.py install

or

pip install inception-android

Using docker

Here is also a docker container for inception

docker pull tgalal/inception

License:

inception is licensed under the GPLv3+: http://www.gnu.org/licenses/gpl-3.0.html.


ui_print("");
ui_print(".__                            __             .___");
ui_print("|__| ____   ____  ____ _______/  |_  ____   __| _/");
ui_print("|  |/    \_/ ___\/ __ \____ \   __\/ __ \ / __ | ");
ui_print("|  |   |  \  \__\  ___/|  |_> >  | \  ___// /_/ | ");
ui_print("|__|___|  /\___  >___  >   __/|__|  \___  >____ | ");
ui_print("        \/     \/    \/|__|             \/     \/ ");
ui_print("");

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100
No reviews found
Be the first to rate

Alternatives

No alternatives found

Tutorials

No tutorials found
Add a tutorial