Inception is a set of tools for auto configuring android devices. You can do the following:
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.
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:
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.
git clone https://github.com/tgalal/inception.git
python setup.py install
or
pip install inception-android
Here is also a docker container for inception
docker pull tgalal/inception
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("");