GloDroid / glodroid_manifest

Android port that aims to bring both user- and developer-friendly experience in using AOSP with a set of single-board computers (SBC), phones and other devices.
471 stars 67 forks source link

Install gapps #77

Closed jpmeijers closed 1 year ago

jpmeijers commented 4 years ago

Can one install OpenGapps onto glodroid? What would the process be?

https://opengapps.org/

kev-dev1 commented 4 years ago

I tried to flash the OpenGapps TV-Stock but it's failed. How can i flash the OpenGapps

g-lebars commented 3 years ago

I was able to modify the build process for the opi3 by following the tutorial at: https://github.com/opengapps/aosp_build There is however some changes that need to be done:

  1. the repo forall -c git lfs pull fails due to opencl. You can however call repo forall vendor/opengapps/sources/* -c git lfs pull

  2. You need to set: BOARD_SUPER_PARTITION_SIZE := 2147483648 BOARD_GLODROID_DYNAMIC_PARTITION_SIZE := 2143289344 in device/glodroid/common/boardconfig-common.mk to accomodate for the added apps.

However I still struggle to push the super partition to the board.

When I call flash-sd.sh the script fails at ./fastboot flash super super.img with Writing 'super' FAILED (remote: 'Operation not permitted')

I don't know if someone has an idea of what to do next

rsglobal commented 3 years ago

Hi,

You also have to update partition layout: https://github.com/GloDroid/glodroid_device/blob/1fe99ca9dd51119b07ce1e162b040b673f7c22fe/platform/uboot/bootscript.cpp#L36

g-lebars commented 3 years ago

Perfect thank you. And thanks to the developers who did a wonderful job

kev-dev1 commented 3 years ago

Work´s Andorid with GApps?

ekpyron commented 3 years ago

@kev-dev1 Yes, I at least have a working custom build of Glodroid v0.5.1 with working GApps on a Pinephone following the process described by @g-lebars in https://github.com/GloDroid/glodroid_manifest/issues/77#issuecomment-724945350 together with changing https://github.com/GloDroid/glodroid_device/blob/1fe99ca9dd51119b07ce1e162b040b673f7c22fe/platform/uboot/bootscript.cpp#L36 to EXTENV(partitions, ";name=super,size=2048M,uuid=\${uuid_gpt_super}") as suggested by @rsglobal in https://github.com/GloDroid/glodroid_manifest/issues/77#issuecomment-724986371. (While on the other hand trying to flash prebuilt opengapps by adb sideloading into the prebuilt Glodroid v0.5.1 release fails some signature verification for me with the few Android 11 builds of opengapps I found and doesn't seem to be expected to work without modifications in general IIUC.)

kev-dev1 commented 3 years ago

Ok. Thanks for the Information!

g-lebars commented 3 years ago

I was able to build and flash the rom with aosp 11 and opengapps to an opi3. However there are still problems. because the board was not validated on google side. On first boot you will have graphical errors during the initialization if you dont disable wifi and bluetooth. You can then go through the device settings to set the wifi. When the board is finally initialized, google protect will complain about system verification. To mitigate this problem you can use the steps described here: https://www.xda-developers.com/google-blocks-gapps-uncertified-devices-custom-rom-whitelist/ But even with this your access to google play will be limited. Many apps will not be available due to the weak play protect validation. I'm looking into magisk to help with that but for now I was unable to flash it on the opi 3

ekpyron commented 3 years ago

@g-lebars Yes, I had similar issues, although for me hitting skip fast enough during wiki setup in device initialization was enough. I also had to whitelist the device like https://www.xda-developers.com/google-blocks-gapps-uncertified-devices-custom-rom-whitelist/, but I thought that was to be expected. Regarding the remaining issues of play protect validation: I'm also not able to e.g. flash magisk and it doesn't look like they make it easy to include magisk in the aosp build - ideally I'd like to generate custom signing keys to the glodroid build and use them to sign things like magisk images, but I have yet to find out where exactly to put such keys, s.t. they will end up in glodroid recovery...

EDIT: I figured out how to sign update packages - from glodroid build root:

prebuilts/jdk/jdk11/linux-x86/bin/java -Xmx2048m -Djava.library.path="prebuilts/sdk/tools/linux/lib64/" -jar ./prebuilts/sdk/tools/lib/signapk.jar -w bootable/recovery/tests/testdata/testkey_v1.x509.pem bootable/recovery/tests/testdata/testkey_v1.pk8 /path/to/input.zip /path/to/output.zip

works for me and let's me adb sideload e.g. some magisk update zip - but apparently the recovery still expects something different, I now get:

E:Failed to find META-INF/com/android/metadata

I'm not sure what's the difference between the glodroid recovery and custom recoveries like TWRP in what they expect in such sideloaded files, but apparently it doesn't just work.

And even if it did execute the update script in the magisk zip file, I'm not sure if I could expect that to work - I know too little about how any of this actually works to be honest :-). And I'm also not entirely sure if magisk is the right way to deal with the play protect validation issues to begin with - I actually doubt it. But please let me know if anyone makes more progress wrt any of this!

rsglobal commented 1 year ago

Tesla Android project uses GloDroid with Gapps on top. Please find a reference at https://github.com/tesla-android/android-raspberry-pi