README.md 9.8 KB
Newer Older
1
2
3
4
Table of Contents
=================

   * [NanoDroid](#nanodroid)
5
   * [Table of Contents](#table-of-contents)
6
7
8
      * [Current Release](#current-release)
      * [Downloads](#downloads)
         * [Primary Mirror](#primary-mirror)
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
9
         * [SHA256 Checksum and GPG Signature](#sha256-checksum-and-gpg-signature)
10
         * [Snapshots](#snapshots)
11
      * [Custom builds](#custom-builds)
12
      * [Supported Android Versions](#supported-android-versions)
13
      * [Recommended Thirdparty Projects](#recommended-thirdparty-projects)
14
15
16
17
18
19
20
      * [Support](#support)
      * [ChangeLog](#changelog)
      * [Summary](#summary)
      * [Packages](#packages)
         * [F-Droid Repository](#f-droid-repository)
      * [Details](#details)
      * [Installation](#installation)
21
      * [microG Setup](#microg-setup)
22
      * [Issues](#issues)
23
      * [License & Credits](#license--credits)
24
25
26
27
28
      * [TODO](#todo)
      * [FAQ](#faq)

Created by [gh-md-toc](https://github.com/ekalinin/github-markdown-toc)

29
30
# NanoDroid

W1nst0n's avatar
W1nst0n committed
31
NanoDroid is an installer for various OpenSource projects, most noticably [microG](https://microg.org/) and [F-Droid](https://f-droid.org/). It supports all Android 4.4+ phones and all partition layouts (System-as-root, A/B) and can be installed as a Magisk module. NanoDroid also includes several tools (eg. GNU Bash, tools from util-linux/bsdmainutils and more) and additional features (system debloating, init scripts, automatic logcat creation), aswell as a companion F-Droid Repository.
32

W1nst0n's avatar
W1nst0n committed
33
Furthermore it allows the user to do fine-graded installations using configuration files to choose what to install, or if several alternatives are available, which of them. See [Installation](#installation) below.
34

W1nst0n's avatar
W1nst0n committed
35
The full microG experience NanoDroid contains a modified Play Store allowing (in-)app-purchases with microG, which would normally not be possible. It also tries to remove all previously installed GApps on its own. For ROMs without builtin signature spoofing support, NanoDroid includes an on-device Patcher which tries to patch your ROM from either TWRP or Magisk Manager.
36

W1nst0n's avatar
W1nst0n committed
37
**NanoDroid** was previously called **NanoMod** (before version 16.0).
38

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
39
40
## Current Release

41
* Stable: 23.1.2.20210117 "BusyCompat"
42
* Beta: ---
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
43
44
45

## Downloads

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
46
47
### Primary Mirror

W1nst0n's avatar
W1nst0n committed
48
Only the latest stable and beta releases are maintained and are available on Nanolx:
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
49

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
50
51
* Stable Downloads [> Nanolx](https://downloads.nanolx.org/NanoDroid/Stable)
* Beta Downloads [> Nanolx](https://downloads.nanolx.org/NanoDroid/Beta)
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
52

53
54
### SHA256 Checksum and GPG Signature

W1nst0n's avatar
W1nst0n committed
55
Since version 18.3.1 all releases hosted on *nanolx.org* contain a SHA256 checksum and GPG signature to check their validity. AFH does provide the SHA256 checksum on the downloads summary page, but does not allow to upload a GPG signature.
56

W1nst0n's avatar
W1nst0n committed
57
You can verify the checksum with the public GPG key:
58

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
59
* download the public key from [photonic.asc](https://downloads.nanolx.org/NanoDroid/Stable/photonic.asc)
60
61
62
63
64
  * import it using `gpg --import photonic.asc`
* download and import using `gpg` from pgp.mit.edu:
  * `gpg --keyserver pgp.mit.edu --recv B0ABCE622A077B584B81339E340FD70EFFC52B26`


W1nst0n's avatar
W1nst0n committed
65
```bash
66
67
68
69
gpg --verify NanoDroid-19.0.20181027.zip.sha256.sig
sha256sum -c NanoDroid-19.0.20181027.zip.sha256
```

W1nst0n's avatar
W1nst0n committed
70
Additionally, you may want to ensure the signing date is close to the release date.
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
71
72
73

### Snapshots

74
75
76
You can create snapshots from this repository using the `build-package` script.

See the [build-package documentation](doc/BuildPackage.md) for more information.
77
78
79

## Custom builds

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
80
The following applications are custom builds (see [F-Droid Repository](#f-droid-repository) below):
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
81
82

* Play Store (reason: re-signed and modified to support (in-)app-purchases with microG GmsCore)
83
* MPV (reason: infrequent updates)
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
84
85
86
87

The git repository as central place/navigational point for all custom builds from NanoDroid is located here:

* https://gitlab.com/Nanolx/nanodroid-patches
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
88
89
90
91
92
93
94
95
96
97
98
99
100
101

## Supported Android Versions

NanoDroid officially supports the following Android versions:

* 4.4 / SDK 19 (KitKat)
  * System Mode only (Magisk does not support KitKat)
* 5.0 / SDK 21 (Lollipop)
* 5.1 / SDK 22 (Lollipop)
* 6.0 / SDK 23 (Marshmallow)
* 7.0 / SDK 24 (Nougat)
* 7.1 / SDK 25 (Nougat)
* 8.0 / SDK 26 (Oreo)
* 8.1 / SDK 27 (Oreo)
102
* 9.0 / SDK 28 (Pie)
103
  * Patcher works if your ROM's services.jar already contains classes.dex
104
     * [> Deodex Instructions](doc/DeodexServices.md)
105
* 10.0 / SDK 29 (Q)
106
107
  * Patcher works if your ROM's services.jar already contains classes.dex
     * [> Deodex Instructions](doc/DeodexServices.md)
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
108
109
110
111
* 11.0 / SDK 30 (R)
  * Patcher does not work from TWRP
  * Patcher works from Magisk if your ROM's services.jar already contains classes.dex
     * [> Deodex Instructions](doc/DeodexServices.md)
112

Christopher Roy Bratusek's avatar
fixes    
Christopher Roy Bratusek committed
113
Earlier versions will never officially be supported (you may still report bugs, though). Future versions will be officially supported, eventually.
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
114

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
115
116
## Recommended Thirdparty Projects

W1nst0n's avatar
W1nst0n committed
117
* [Busybox](https://forum.xda-developers.com/showthread.php?t=2239421) by Osm0sis (highly recommended for all NanoDroid scripts properly working)
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
118
119
* [GNU Nano editor](https://forum.xda-developers.com/showthread.php?t=2239421) by Osm0sis (simple, powerful commandline editor)

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
120
121
122
123
124
125
126
127
128
129
## Support

[> XDA](https://forum.xda-developers.com/apps/magisk/module-nanodroid-5-0-20170405-microg-t3584928) Support Thread

## ChangeLog

Full, user-readible [> ChangeLog](ChangeLog.md)

## Summary

W1nst0n's avatar
W1nst0n committed
130
**NanoDroid** can be installed as a Magisk Module or directly to `/system`, most of the functionalities are available, in System Mode too.
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
131
132
133
134
135

More information about Magisk [> XDA](https://forum.xda-developers.com/apps/magisk)

NanoDroid includes

W1nst0n's avatar
W1nst0n committed
136
* microG and its companions
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
137
  * GApps are auto-removed during installation
138
139
     * using [> NanoDroid-Overlay](doc/NanoDroidOverlay.md)
     * the Uninstaller will restore them in System Mode (or re-flash the ROM)
140
     * see the [> GApps Removal List](doc/GAppsRemoval.md)
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
141
  * location packages conflicting with unified Nlp will be auto-removed during installation
142
143
     * using [> NanoDroid-Overlay](doc/NanoDroidOverlay.md)
     * the Uninstaller will restore them (or re-flash the ROM)
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
144
     * see the [> GApps Removal List](doc/GAppsRemoval.md#list-of-removed-location-providers)
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
145
146
* [> F-Droid](https://f-droid.org) and it's privileged extension
  * alternatively you can install [> Aurora Droid](https://f-droid.org/en/packages/com.aurora.adroid) and it's services extension
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
147
* modified Play Store to allow (in-)app-purchases with microG
148
  * this required the Play Store to be modified, see the [> patch](https://gitlab.com/Nanolx/microg-phonesky-iap-support)
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
149
  * alternatively [> Aurora Store](https://f-droid.org/en/packages/com.aurora.store) and it's services extension can be installed instead
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
150
* custom init scripts
151
* pseudo-debloat feature (Magisk Mode)
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
152
  * disables applications systemless-ly
153
  * pre-configured [> default settings](doc/NanoDroidOverlay.md)
154
* force-debloat feature (Sytem Mode)
155
  * moves applications out of the way to /data/media/0/nanodroid_backup/
156
  * pre-configured [> default settings](doc/NanoDroidOverlay.md)
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
157
158
159
* several Open Source applications
  * include replacements for the pseudo-debloated applications
  * full list of [> included applications](doc/Applications.md)
160
161
* on-device framework-patcher for microG support (signature spoofing)
  * with automatic de-odexing up to Android 8.1
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
162
* additional components
163
  * GNU Bash shell (with Less pager)
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
164
165
166
  * Addon.d support for System Mode installation
     * restores NanoDroid after ROM update
     * re-debloates GApps, if required
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
167
168
169

## Packages

170
See the [Packages](doc/Packages.md) summary for information about the available packages.
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
171

172
173
### F-Droid Repository

W1nst0n's avatar
W1nst0n committed
174
In order to ease updating NanoDroid's custom application builds, you can use its companion [F-Droid Repository](https://www.nanolx.org/fdroid/repo).
175

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
176
177
## Details

178
See the [> Detail information](doc/Details.md) for full details on microG, F-Droid, features and utilities included with NanoDroid.
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
179

180
## Installation
181

W1nst0n's avatar
W1nst0n committed
182
See the [Installation](doc/Installation.md) docs for instructions.
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
183

184
## microG Setup
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
185

W1nst0n's avatar
W1nst0n committed
186
See the [microG setup](doc/microGsetup.md) documentation.
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
187
188
189

## Issues

190
See [the list of known issues](doc/Issues.md) and their respective fixes or workarounds.
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
191

192
193
## License & Credits

W1nst0n's avatar
W1nst0n committed
194
My own work (NanoDroid itself) is licensed under the GNU General Public License version 3 or newer [> GNU](https://www.gnu.org/licenses/gpl-3.0.txt).
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209

For more details (including authors and license) on every provided application or Software press the link next to it.

Additional credits go to

* Mar-V-In for microG
  * https://github.com/microg
* topjohnwu for Magisk
  * https://github.com/topjohnwu/Magisk
* Lanchon for dexpatcher and haystack
  * https://github.com/dexpatcher
* osm0sis for GNU Nano and Busybox
  * https://forum.xda-developers.com/showthread.php?t=2239421
* shadow53 for automatic apk grabbing base code
  * https://shadow53.com/android/no-gapps/
210
* ale5000 for GApps Removal list and native signature spoofing detection
211
212
213
214
215
  * https://github.com/micro5k
* anestisb for vdexExtractor
  * https://github.com/anestisb/vdexExtractor
* JesusFreke for smali/baksmali
  * https://github.com/JesusFreke/smali
216
217
* Zackptg5 for zstd binaries
  * https://github.com/Zackptg5/Cross-Compiled-Binaries-Android
218

219
Special Thanks to the contributors (starting with most recent contribution)
220

221
222
* TanyaEleventhGoddess
  * various improvements and fixed for `build-package`
223
224
225
226
227
* Gia90
  * Android 6.0 support for Patcher
  * fixes for x86_64 support
* Vavun
  * OsmAnd package
W1nst0n's avatar
W1nst0n committed
228
  * several contributions to NanoDroid (and its former microG GmsCore fork)
229
230
231
232
233
234

Special Thanks to the beta testers

* xenithorb
* ShapeShifter499

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
235
236
237
238
239
## TODO

## FAQ

```
W1nst0n's avatar
W1nst0n committed
240
241
Q: Will there be a GApps version, instead of microG?
A: No. But you can choose not to populate microG.
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
242

W1nst0n's avatar
W1nst0n committed
243
Q: What devices is this tested on?
244
A: OnePlus 5T, OnePlus 3T, Nexus 6
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
245

W1nst0n's avatar
W1nst0n committed
246
247
Q: What ROMs was this tested on?
A: AICP, OmniROM, NitrogenOS. It should work on any LineageOS / AOSP based ROM and on most Stock ROMs.
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
248
```