@@ -23,73 +23,63 @@ Created by [gh-md-toc](https://github.com/ekalinin/github-markdown-toc)
## Configuration File
To alter the installation you can create the file
To alter the installation you can create the file`.nanodroid-setup` on your device, in one of the following directories:
`.nanodroid-setup`
on your device, in one of the following directories
*`/data/media/0` (internal storage (TWRP))
*`/sdcard1` (internal storage (ORANGEFOX))
*`/data/media/0` (internal storage **[TWRP]**)
*`/sdcard1` (internal storage **[ORANGEFOX]**)
*`/external_sd` (TWRP path to SD Card (if any))
*`/data` (fallback)
*`/system/addon.d/` (fallback if TWRP can't mount `/data`)
*`/tmp` (fallback if TWRP can't mount `/data`)
You can use the [default configuration file](.nanodroid-setup) as a starting point. Below follows the detailed information on what each setting does (also described in the file itself); also which setting is support by what package. If an required entry is missing from your configuration file, the default setting will be added to your configuration file.
You can use the [default configuration file](.nanodroid-setup) as a starting point. Below follows its detailed description. If a required entry is missing from your configuration file, the default setting will be added to your configuration file.
@@ -21,7 +21,7 @@ On GNU/Linux, MacOS or xBSD clone this repository and use the provided `build-pa
download required files:
*`build-package pull` to download all required apks and libraries for the Full, microG and F-Droid packages
for apks downloaded from F-Droid repositories or from APK Mirror, `build-package` checks the SHA256 hash.
For apks downloaded from F-Droid repositories or from APK Mirror, `build-package` checks the SHA256 hash.
update required files:
*`build-package u-microg` to update microG
...
...
@@ -62,14 +62,14 @@ The `build-package` script additionally supports the following parameters:
If you want to use custom APKs in your build, place them into the `local` directory in the root of the NanoDroid tree.
The name of your APK must match the targetname in the NanoDroid package, e.g. `GmsCore` for a custom microG build or `Phonesky` for a custom Play Store build.
The name of your APK must match the targetname in the NanoDroid package, e.g. `GmsCore` for a custom microG build or `Phonesky` for a custom Play Store build.
See the `file_database` in [build-package.database](../data/build-package.database).
Note: sideloading libraries is currently not supported!
**Note:** sideloading libraries is currently not supported!
## "Secret" parameters
*`export BP_DEBUG=1` allows seeing debug messages when repos are fetched and APKs are downloaded
*`export BP_USE_WGET=1` tells the script to use wget for downloading indices and APks
*`export BP_USE_WGET=1` tells the script to use wget for downloading indices and APKs
@@ -14,11 +13,11 @@ Created by [gh-md-toc](https://github.com/ekalinin/github-markdown-toc)
Here you can find instructions on how to manually deodex `services.jar` as preparation for Signature Spoofing support.
If you want to check beforehand (or afterwards), if your ROM supports Signature Spoofing, use this [tool](https://f-droid.org/de/packages/lanchon.sigspoof.checker/).
If you want to check beforehand (or afterwards) if your ROM supports Signature Spoofing, use this [tool](https://f-droid.org/de/packages/lanchon.sigspoof.checker/).
## Pre-Check
If your `/system/framework/services.jar` file contains the file `classes.dex`, you can skip deodexing and start patching right-away, else following these instructions.
If your `/system/framework/services.jar` file contains the file `classes.dex`, you can skip deodexing and start patching right-away. Else follow these instructions.
## Android 9.0 Pie
...
...
@@ -28,9 +27,9 @@ VdexExtractor will create CompatDex for Android 9.0 (more precisely VDEX 019 fil
## VDEX
If you can see `/system/framework/oat/[arch]/services.vdex`, where [arch] is the device architecture (arm, arm64, x86 or x86_64), you should follow theese instructions.
If you can see `/system/framework/oat/[arch]/services.vdex`, where `[arch]` is the device architecture (arm, arm64, x86 or x86_64), you should follow theese instructions.
the instructions are basically simple, though plenty commands:
The instructions are basically simple, though there is a lot of commands:
* connect phone with PC while in TWRP, mount `/system`**read-write**
* get latest `vdexExtractor`
...
...
@@ -38,46 +37,45 @@ the instructions are basically simple, though plenty commands:
* zip/unzip utilities for commandline (or some UI tool)
* common sense on using commandline (or some UI tool instead)
This will create the following file: `framework/oat/[arch]/services.apk_classes.dex`
if it's properly been created rename it to classes.dex and add it to `services.jar`, if there are additional files like services.apk_classes2.dex, rename them to classes2.dex and so on and add them to services.jar like:
If it has been properly created, rename it to `classes.dex` and add it to `services.jar`. If there are additional files like `services.apk_classes2.dex`, rename them to `classes2.dex` and add them to `services.jar` like this:
Then, install the new `services.jar` on the device:
```
```bash
adb push framework/services.jar /system/framework
adb shell
chmod 0644 /system/framework/services.jar
chown root:root /system/framework/services.jar
```
unmount `/system` and flash the NanoDroid-Patcher.
Unmount `/system` and flash the **NanoDroid-Patcher**.
If something goes wrong you still have the unpatched `services.jar`, as we created a copy named `services.jar-backup`.
If something goes wrong, you still have the unpatched `services.jar`, as we created a copy named `services.jar-backup`.
## ODEX
If you can see `/system/framework/oat/[arch]/services.odex`, where [arch] is the device architecture (arm, arm64, x86 or x86_64), you should follow theese instructions.
If you can see `/system/framework/oat/[arch]/services.odex`, where `[arch]` is the device architecture (arm, arm64, x86 or x86_64), you should follow theese instructions:
the instructions are basically simple, though plenty commands:
The instructions are basically simple, though there is a lot of commands:
* connect phone with PC while in TWRP, mount `/system`**read-write**
* get latest `baksmali.jar` and `smali.jar`
...
...
@@ -85,35 +83,35 @@ the instructions are basically simple, though plenty commands:
* zip/unzip utilities for commandline (or some UI tool)
* common sense on using commandline (or some UI tool instead)
somestimes baksmali.jar can't find the bootclasses file itself, in this case pass it manually using `-b`, for example:
Sometimes `baksmali.jar` can't find the bootclasses file itself. In this case, you need to pass it manually using `-b`, for example:
`-b framework/[arch]/boot.oat`
in any case, if a new classes.dex was successfully created in the services-new directory, re-package it into the services.jar we previously pulled:
In any case, if a new `classes.dex` was successfully created in the services-new directory, re-package it into the `services.jar` we previously pulled:
```
```bash
zip -j framework/services.jar classes*.dex
```
next install the new `services.jar`to device:
Then, install the new `services.jar` on the device:
```
```bash
adb push framework/services.jar /system/framework
adb shell
chmod 0644 /system/framework/services.jar
chown root:root /system/framework/services.jar
```
unmount `/system` and flash the NanoDroid-Patcher.
Unmount `/system` and flash the NanoDroid-Patcher.
If something goes wrong you still have the unpatched `services.jar`, as we created a copy named `services.jar-backup`.
@@ -17,7 +17,7 @@ Created by [gh-md-toc](https://github.com/ekalinin/github-markdown-toc)
# NanoDroid
This lists features unique to NanoDroid.
This lists unique NanoDroid features.
## NanoDroid-Overlay
...
...
@@ -80,13 +80,9 @@ The following init scripts are bundled with NanoDroid
When in Magisk Mode the init scripts create their log files in
`/magisk/NanoDroid/logs/${script}.log.${date}`
`/magisk/NanoDroid/logs/${script}.log.${date}`
When installed to /system your ROM needs to support running scripts in
`/system/etc/init.d`
or you can use **Kernel Adiutor's** init.d emulation.
When installed to /system your ROM needs to support running scripts in `/system/etc/init.d` or you can use **Kernel Adiutor's** init.d emulation.
## GNU Bash
...
...
@@ -126,7 +122,7 @@ NanoDroid includes microG as follows
## F-Droid
F-Droid [> Website](http://www.fdroid.org) is an app store for OpenSource applications.
F-Droid [> Website](http://www.fdroid.org) is an app store for FOSS (Free and OpenSource Software) applications only.
NanoDroid includes both F-Droid and it's Privileged Extension [> F-Droid](https://f-droid.org/repository/browse/?fdfilter=f-droid&fdid=org.fdroid.fdroid.privileged), so you don't need to enable `Unknown Sources`. Alternatively (or additionally) you can install Aurora Droid [> F-Droid](https://f-droid.org/de/packages/com.aurora.adroid/).
*[Installation on Stock ROM without GApps, custom ROM with/without OpenGApps](#installation-on-stock-rom-without-gapps-custom-rom-withwithout-opengapps)
*[Installation on Stock ROM with GApps](#installation-on-stock-rom-with-gapps)
*[Installation on Stock ROM without GApps, custom ROM with/without OpenGApps](#installation-on-stock-rom-without-gapps-custom-rom-withwithout-opengapps)
*[Installation on Stock ROM with GApps](#installation-on-stock-rom-with-gapps)