diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 00000000..0bf5e19c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,36 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: '' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Desktop (please complete the following information):** + - OS: [e.g. Windows 10] + - Version [e.g. 0.4.2] + +**Smartphone (please complete the following information):** + - Device: [e.g. Samsung Galaxy S10] + - OS: [e.g. LineageOS] + - Version [e.g. 0.4.2] + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/device-support-request.md b/.github/ISSUE_TEMPLATE/device-support-request.md new file mode 100644 index 00000000..325b5f8e --- /dev/null +++ b/.github/ISSUE_TEMPLATE/device-support-request.md @@ -0,0 +1,21 @@ +--- +name: Device support request +about: Request support for a new device +title: '' +labels: '' +assignees: '' + +--- + +**Device name** +Please enter the name of the device you would like to request support for. +If you know the device code, please also add it here. + +**Device images** +Please provide links to any available images of the device, such as official stock firmware or custom ROMs you would like to install. + +**Do you own the device and would be willing to test the installer?** +- [ ] + +**Additional context** +Please provide any additional context or information that may be helpful in adding support for this device. diff --git a/.github/ISSUE_TEMPLATE/feature-request.md b/.github/ISSUE_TEMPLATE/feature-request.md new file mode 100644 index 00000000..bbcbbe7d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature-request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: '' +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/README.md b/README.md index fcf40554..b883da25 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@


- The OpenAndroidInstaller project helps Android users to keep their smartphone's operating system up to date with free software and to continue using the device even though the manufacturer no longer offers updates. With a graphical installation software, users are easily guided through the installation process of free Android operating systems like LineageOS. + The OpenAndroidInstaller project helps Android users to keep their smartphone's operating system up to date with free software and to continue using the device even though the manufacturer no longer offers updates. With a graphical installation software, users are easily guided through the installation process of free Android operating systems like LineageOS.

Report Bug @@ -39,23 +39,23 @@ If you wish to backup the TA partition first, you can find tutorials related to Linux is currently the best supported platform (tested with Ubuntu 20.04/22.04 LTS). Windows and MacOS are also supported but you might experience more issues. So far there is no support for ARM-based systems. 1. Download the AppImage, .exe or appropriate executable file for your OS. You might need to change permissions to run the executable. - - On Windows also [install the Universal USB Drivers](https://adb.clockworkmod.com/) and other potentially drivers needed for your device. + - On Windows also [install the Universal USB Drivers](https://adb.clockworkmod.com) and other potentially drivers needed for your device. 2. Download the custom ROM image and the TWRP recovery image for your device and optionally some addons. A source for files can be found on the following websites: - some custom ROMs: - - [LineageOS](https://wiki.lineageos.org/devices/) + - [LineageOS](https://wiki.lineageos.org/devices) - [/e/OS](https://doc.e.foundation/devices) - - [LineageOS for microg](https://download.lineage.microg.org/) - - [BlissRoms](https://blissroms.org/) - - [PixelExperience](https://download.pixelexperience.org/) + - [LineageOS for microg](https://download.lineage.microg.org) + - [BlissRoms](https://blissroms.org) + - [PixelExperience](https://download.pixelexperience.org) - TWRP Recovery: - - [TWRP recovery](https://twrp.me/Devices/) + - [TWRP recovery](https://twrp.me/Devices) - Optional Addons: - There are different packages of *Google Apps* available. - [MindTheGapps](https://wiki.lineageos.org/gapps#downloads) - - [NikGApps](https://nikgapps.com/) - - [MicroG](https://microg.org/) + - [NikGApps](https://nikgapps.com) + - [MicroG](https://microg.org) - The recommended way to install MicroG is to use the zip file provided here: [https://github.com/FriendlyNeighborhoodShane/MinMicroG_releases/releases](https://github.com/FriendlyNeighborhoodShane/MinMicroG_releases/releases). - - [F-Droid App-Store](https://f-droid.org/en/packages/org.fdroid.fdroid.privileged.ota/). + - [F-Droid App-Store](https://f-droid.org/en/packages/org.fdroid.fdroid.privileged.ota). - or you can just search the web or the [xda-developers forum](https://forum.xda-developers.com) for an appropriate version for your device. 3. Start the desktop app and follow the instructions. @@ -74,52 +74,52 @@ Vendor | Device Name | CodeName | Models | Status ---|---|---|---|--- Samsung | Galaxy J7 2015 | j7elte | | tested Samsung | Galaxy A3 2017 | a3y17lte | SM-A320FL | tested -Samsung | Galaxy S III Neo | s3ve3g | GT-I9301I | tested -Samsung | Galaxy A5 2016 | [a5xelte](https://wiki.lineageos.org/devices/a5xelte/) | SM-A510F | tested +Samsung | Galaxy A5 2016 | [a5xelte](https://wiki.lineageos.org/devices/a5xelte) | SM-A510F | tested Samsung | Galaxy A7 2016 | a7xelte | | tested -Samsung | Galaxy S6 | [zerofltexx](https://wiki.lineageos.org/devices/zerofltexx/) | | tested -Samsung | Galaxy S6 Edge | [zeroltexx](https://wiki.lineageos.org/devices/zeroltexx/) | | tested -Samsung | Galaxy S7 | [herolte](https://wiki.lineageos.org/devices/herolte/) | SM-G930F | tested -Samsung | Galaxy S7 Edge | [hero2lte](https://wiki.lineageos.org/devices/hero2lte/) | | tested -Samsung | Galaxy S9 | [starlte](https://wiki.lineageos.org/devices/starlte/) | | tested +Samsung | Galaxy S III Neo | s3ve3g | GT-I9301I | tested +Samsung | Galaxy S6 | [zerofltexx](https://wiki.lineageos.org/devices/zerofltexx) | | tested +Samsung | Galaxy S6 Edge | [zeroltexx](https://wiki.lineageos.org/devices/zeroltexx) | | tested +Samsung | Galaxy S7 | [herolte](https://wiki.lineageos.org/devices/herolte) | SM-G930F | tested +Samsung | Galaxy S7 Edge | [hero2lte](https://wiki.lineageos.org/devices/hero2lte) | | tested +Samsung | Galaxy S9 | [starlte](https://wiki.lineageos.org/devices/starlte) | | tested +Samsung | Galaxy S10 | [beyond1lte](https://wiki.lineageos.org/devices/beyond1lte) | | tested +Samsung | Galaxy S10e | [beyond0lte](https://wiki.lineageos.org/devices/beyond0lte) | | tested +Samsung | Galaxy S10+ | [beyond2lte](https://wiki.lineageos.org/devices/beyond2lte) | | tested +Samsung | Galaxy Note 3 LTE | [hltetmo](https://wiki.lineageos.org/devices/hltetmo) | N900T/V/W8 | tested Samsung | Galaxy Note 8 | greatlte | SM-N950F | tested -Samsung | Galaxy Note 9 | [crownlte](https://wiki.lineageos.org/devices/crownlte/) | | tested -Samsung | Galaxy S10 | [beyond1lte](https://wiki.lineageos.org/devices/beyond1lte/) | | tested -Samsung | Galaxy S10e | [beyond0lte](https://wiki.lineageos.org/devices/beyond0lte/) | | tested -Samsung | Galaxy S10+ | [beyond2lte](https://wiki.lineageos.org/devices/beyond2lte/) | | tested -Samsung | Galaxy Note 10 | [d1](https://wiki.lineageos.org/devices/d1/) | | tested -Samsung | Galaxy Note 10+ | [d2s](https://wiki.lineageos.org/devices/d2s/) | | tested -Samsung | Galaxy Note 3 LTE | [hltetmo](https://wiki.lineageos.org/devices/hltetmo/) | N900T/V/W8 | tested +Samsung | Galaxy Note 9 | [crownlte](https://wiki.lineageos.org/devices/crownlte) | | tested +Samsung | Galaxy Note 10 | [d1](https://wiki.lineageos.org/devices/d1) | | tested +Samsung | Galaxy Note 10+ | [d2s](https://wiki.lineageos.org/devices/d2s) | | tested

Google Vendor | Device Name | CodeName | Models | Status ---|---|---|---|--- -Google | Pixel 2 | [walleye](https://wiki.lineageos.org/devices/walleye/) | walleye | tested -Google | Pixel 2 XL | [taimen](https://wiki.lineageos.org/devices/taimen/) | taimen | tested -Google | Pixel 3 | [blueline](https://wiki.lineageos.org/devices/blueline/) | blueline | tested -Google | Pixel 3 XL | [crosshatch](https://wiki.lineageos.org/devices/crosshatch/) | crosshatch | tested -Google | Pixel 3a | [sargo](https://wiki.lineageos.org/devices/sargo/) | sargo | tested -Google | Pixel 3a XL | [bonito](https://wiki.lineageos.org/devices/bonito/) | bonito | tested -Google | Pixel 4 | [flame](https://wiki.lineageos.org/devices/flame/) | flame | tested -Google | Pixel 4 XL | [coral](https://wiki.lineageos.org/devices/coral/) | coral | tested -Google | Pixel 4a | [sunfish](https://wiki.lineageos.org/devices/sunfish/) | sunfish | tested -Google | Pixel 5 | [redfin](https://wiki.lineageos.org/devices/redfin/) | redfin | tested -Google | Pixel 5a | [barbet](https://wiki.lineageos.org/devices/barbet/) | barbet | tested +Google | Pixel 2 | [walleye](https://wiki.lineageos.org/devices/walleye) | walleye | tested +Google | Pixel 2 XL | [taimen](https://wiki.lineageos.org/devices/taimen) | taimen | tested +Google | Pixel 3 | [blueline](https://wiki.lineageos.org/devices/blueline) | blueline | tested +Google | Pixel 3 XL | [crosshatch](https://wiki.lineageos.org/devices/crosshatch) | crosshatch | tested +Google | Pixel 3a | [sargo](https://wiki.lineageos.org/devices/sargo) | sargo | tested +Google | Pixel 3a XL | [bonito](https://wiki.lineageos.org/devices/bonito) | bonito | tested +Google | Pixel 4 | [flame](https://wiki.lineageos.org/devices/flame) | flame | tested +Google | Pixel 4 XL | [coral](https://wiki.lineageos.org/devices/coral) | coral | tested +Google | Pixel 4a | [sunfish](https://wiki.lineageos.org/devices/sunfish) | sunfish | tested +Google | Pixel 5 | [redfin](https://wiki.lineageos.org/devices/redfin) | redfin | tested +Google | Pixel 5a | [barbet](https://wiki.lineageos.org/devices/barbet) | barbet | tested
Sony Vendor | Device Name | CodeName | Models | Status ---|---|---|---|--- -Sony | Xperia Z | [yuga](https://wiki.lineageos.org/devices/yuga/) | C6603 | tested -Sony | Xperia Z3 | [z3](https://wiki.lineageos.org/devices/z3/) | | tested -Sony | Xperia 10 | [kirin](https://wiki.lineageos.org/devices/kirin/) | | tested -Sony | Xperia 10 Plus | [mermaid](https://wiki.lineageos.org/devices/mermaid/) | | tested -Sony | Xperia XA2 | [pioneer](https://wiki.lineageos.org/devices/pioneer/) | | tested -Sony | Xperia XZ2 | [akari](https://wiki.lineageos.org/devices/akari/) | | tested -Sony | Xperia XZ3 | [akatsuki](https://wiki.lineageos.org/devices/akatsuki/) | | tested +Sony | Xperia Z | [yuga](https://wiki.lineageos.org/devices/yuga) | C6603 | tested +Sony | Xperia Z3 | [z3](https://wiki.lineageos.org/devices/z3) | | tested +Sony | Xperia 10 | [kirin](https://wiki.lineageos.org/devices/kirin) | | tested +Sony | Xperia 10 Plus | [mermaid](https://wiki.lineageos.org/devices/mermaid) | | tested +Sony | Xperia XA2 | [pioneer](https://wiki.lineageos.org/devices/pioneer) | | tested +Sony | Xperia XZ2 | [akari](https://wiki.lineageos.org/devices/akari) | | tested +Sony | Xperia XZ3 | [akatsuki](https://wiki.lineageos.org/devices/akatsuki) | | tested Sony | Xperia ZX | kagura | | planned
@@ -127,39 +127,39 @@ Sony | Xperia ZX | kagura | | planned Vendor | Device Name | CodeName | Models | Status ---|---|---|---|--- -Fairphone | Fairphone 2 | [FP2](https://wiki.lineageos.org/devices/FP2/) | | tested -Fairphone | Fairphone 3 | [FP3](https://wiki.lineageos.org/devices/FP3/) | | tested -Fairphone | Fairphone 4 | [FP4](https://wiki.lineageos.org/devices/FP4/) | | tested +Fairphone | Fairphone 2 | [FP2](https://wiki.lineageos.org/devices/FP2) | | tested +Fairphone | Fairphone 3 | [FP3](https://wiki.lineageos.org/devices/FP3) | | tested +Fairphone | Fairphone 4 | [FP4](https://wiki.lineageos.org/devices/FP4) | | tested
Motorola Vendor | Device Name | CodeName | Models | Status ---|---|---|---|--- -Motorola | moto g5 | [cedric](https://wiki.lineageos.org/devices/cedric/) | | tested -Motorola | moto g6 plus | [evert](https://wiki.lineageos.org/devices/evert/) | | tested -Motorola | moto g7 power | [ocean](https://wiki.lineageos.org/devices/ocean/) | | tested -Motorola | moto g 5G plus / one 5G | [nairo](https://wiki.lineageos.org/devices/nairo/) | | tested -Motorola | moto g 5G / one 5G ace | [kiev](https://wiki.lineageos.org/devices/kiev/) | | tested -Motorola | edge | [racer](https://wiki.lineageos.org/devices/racer/) | | tested -Motorola | moto z | [griffin](https://wiki.lineageos.org/devices/griffin/) | | tested +Motorola | moto g5 | [cedric](https://wiki.lineageos.org/devices/cedric) | | tested +Motorola | moto g6 plus | [evert](https://wiki.lineageos.org/devices/evert) | | tested +Motorola | moto g7 power | [ocean](https://wiki.lineageos.org/devices/ocean) | | tested +Motorola | moto g 5G plus / one 5G | [nairo](https://wiki.lineageos.org/devices/nairo) | | tested +Motorola | moto g 5G / one 5G ace | [kiev](https://wiki.lineageos.org/devices/kiev) | | tested +Motorola | edge | [racer](https://wiki.lineageos.org/devices/racer) | | tested +Motorola | moto z | [griffin](https://wiki.lineageos.org/devices/griffin) | | tested
OnePlus Vendor | Device Name | CodeName | Models | Status ---|---|---|---|--- -OnePlus | One | [bacon](https://wiki.lineageos.org/devices/bacon/) | A0001 | tested -OnePlus | 5 | [cheeseburger](https://wiki.lineageos.org/devices/cheeseburger/) | | tested -OnePlus | 5T | [dumpling](https://wiki.lineageos.org/devices/dumpling/) | | tested -OnePlus | 6 | [enchilada](https://wiki.lineageos.org/devices/enchilada/) | | tested -OnePlus | 6T | [fajita](https://wiki.lineageos.org/devices/fajita/) | | tested -OnePlus | 7 | [guacamoleb](https://wiki.lineageos.org/devices/guacamoleb/) | | tested -OnePlus | 7 Pro | [guacamole](https://wiki.lineageos.org/devices/guacamole/) | | tested -OnePlus | 7T | [hotdogb](https://wiki.lineageos.org/devices/hotdogb/) | | tested -OnePlus | 7T Pro | [hotdog](https://wiki.lineageos.org/devices/hotdog/) | | tested -OnePlus | Nord | [avicii](https://wiki.lineageos.org/devices/avicii/) | | tested -OnePlus | Nord N200 | [dre](https://wiki.lineageos.org/devices/dre/) | | tested +OnePlus | One | [bacon](https://wiki.lineageos.org/devices/bacon) | A0001 | tested +OnePlus | 5 | [cheeseburger](https://wiki.lineageos.org/devices/cheeseburger) | | tested +OnePlus | 5T | [dumpling](https://wiki.lineageos.org/devices/dumpling) | | tested +OnePlus | 6 | [enchilada](https://wiki.lineageos.org/devices/enchilada) | | tested +OnePlus | 6T | [fajita](https://wiki.lineageos.org/devices/fajita) | | tested +OnePlus | 7 | [guacamoleb](https://wiki.lineageos.org/devices/guacamoleb) | | tested +OnePlus | 7 Pro | [guacamole](https://wiki.lineageos.org/devices/guacamole) | | tested +OnePlus | 7T | [hotdogb](https://wiki.lineageos.org/devices/hotdogb) | | tested +OnePlus | 7T Pro | [hotdog](https://wiki.lineageos.org/devices/hotdog) | | tested +OnePlus | Nord | [avicii](https://wiki.lineageos.org/devices/avicii) | | tested +OnePlus | Nord N200 | [dre](https://wiki.lineageos.org/devices/dre) | | tested OnePlus | 9 | lemonade | | under development
@@ -184,6 +184,8 @@ All kinds of contributions are welcome. These include: - Test the application on your computer. - Contribute an application build for a new platform. +A detailed list can be found [here](https://openandroidinstaller.org/#contribute). + ### How to contribute your own installation configurations If you want to use the tool for a non-supported smartphone, the fastest way is to adapt an [existing config file](https://github.com/openandroidinstaller-dev/openandroidinstaller/tree/main/openandroidinstaller/assets/configs). The file should be named after the official `device code` of the device. Add the code output by `adb shell getprop | grep ro.product.device` (when the devices is connected to the computer) as well as the official device code to the `supported_device_codes` list in the config. You can also get the device code by connecting the device to the computer and run OpenAndroidInstaller to detect the device. @@ -223,7 +225,7 @@ Every step in the config file corresponds to one view in the application. These **Please try to retain this order of these fields in your config to ensure consistency.** -### How to build the application for your platform +## How to build the application for your platform The executables for the OpenAndroidInstaller are build with [pyinstaller](https://pyinstaller.org/en/stable/index.html). You can create builds for MacOS or Linux with `make build-app`. For Windows the paths need to be modified. For now, you can have a look [here](https://github.com/openandroidinstaller-dev/openandroidinstaller/blob/v0.1.2-alpha/.github/workflows/manual-build-windows.yml#L22) on how it's done. @@ -239,7 +241,7 @@ Other phone vendors stops allowing to unlock the bootloader all together. There ## Tools - The [Android SDK Platform Tools](https://developer.android.com/studio/releases/platform-tools) (such as adb and fastboot) are [Apache](https://android.googlesource.com/platform/system/adb/+/refs/heads/master/NOTICE)-licensed universal Android utilities -- [Heimdall](https://gitlab.com/BenjaminDobell/Heimdall/) is an [MIT](https://gitlab.com/BenjaminDobell/Heimdall/-/blob/master/LICENSE)-licensed replacement for the leaked ODIN tool to flash Samsung devices. +- [Heimdall](https://gitlab.com/BenjaminDobell/Heimdall) is an [MIT](https://gitlab.com/BenjaminDobell/Heimdall/-/blob/master/LICENSE)-licensed replacement for the leaked ODIN tool to flash Samsung devices. - [libusb-1.0](https://github.com/libusb/libusb) is a [LGPL-2.1](https://github.com/libusb/libusb/blob/master/COPYING)-licensed library for USB device access from Linux, macOS, Windows and others. - [copy-partitions-20220613-signed.zip](https://mirrorbits.lineageos.org/tools/copy-partitions-20220613-signed.zip) The copy-partitions script was created by LineageOS developer erfanoabdi and filipepferraz and released under LGPL. It is used when the partitions need to be copied before flashing. @@ -256,4 +258,4 @@ This program is free software: you can redistribute it and/or modify it under th This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. -You should have received a copy of the GNU General Public License along with this program. If not, see [http://www.gnu.org/licenses/](http://www.gnu.org/licenses/). +You should have received a copy of the GNU General Public License along with this program. If not, see [http://www.gnu.org/licenses](http://www.gnu.org/licenses). diff --git a/openandroidinstaller/views/addon_view.py b/openandroidinstaller/views/addon_view.py index 93171ece..7b9e7b95 100644 --- a/openandroidinstaller/views/addon_view.py +++ b/openandroidinstaller/views/addon_view.py @@ -60,7 +60,7 @@ def build(self): """## Google Apps: There are different packages of Google Apps available. Most notable - [MindTheGapps](https://wiki.lineageos.org/gapps#downloads) and -- [NikGApps](https://nikgapps.com/). +- [NikGApps](https://nikgapps.com). These packages are only dependent on your OS version and processor architecture, which can be found on each device specific info page. Filenames on MindTheGApps are of the format `MindTheGapps---_