yashsingh1/xdaforums huggingface dataset:
[Android Software Development] Nikhil:
okay, so I've made a few changes/improvements.

Generate the addon scripts in the order of their installation

Fix the size not printing correctly in addonlog

Installer: sort it by file name rather than file size

This will generate the addon file in below format

05-index-GmsCore.sh

05-index-Phonesky.sh

09-index-Velvet.sh

09-index-WebViewGoogle.sh

09-index-GoogleChrome.sh

index will match the constant (05, 09 which are defined by default) and increment by 1 with every new app being installed.

so above file will have following actual names

05-01-GmsCore.sh

05-02-Phonesky.sh

09-01-Velvet.sh

09-02-WebViewGoogle.sh

09-03-GoogleChrome.sh

This gives us control if we want to enforce the order of a particular app (say if I want Velvet to execute in the end), I can just make a release with setting 10 as constant and the next time you flash the addon, you will get 10-01-Velvet.sh which will obviously execute after 09 scripts.

otherwise, the indexes will determine the order of execution and will increment with every new installation.

Dirty flashing will not keep incrementing the number so if 09-01-Velvet.sh already exists, it won't make it 09-02-Velvet.sh

Not simple to understand, but it should work. I will trigger a new elite build for you tomorrow and you can dirty flash to see this into effect. hope this solves the issue otherwise, I'll have to find a new solution.
[Android Software Development] osm0sis:
a-z would be good fun and look a little less wild, though a lot harder to iterate through in script. 😛

Ready for the build. 🤘
[Android Software Development] Nikhil:
It's up :)

If this works, we can take a call what to do next.
[Android Software Development] osm0sis:
This part seems like it might not be working yet... I dirty flashed 0930 over itself to test and got the following:

--- before/all_files.txt	2023-09-30 23:14:00.000000000 -0300
+++ after/all_files.txt	2023-09-30 23:17:16.000000000 -0300
@@ -739,7 +739,6 @@
/system/addon.d
/system/addon.d/04-01-Debloater.sh
/system/addon.d/05-01-GmsCore.sh
-/system/addon.d/05-02-GooglePlayStore.sh
/system/addon.d/05-03-GoogleServicesFramework.sh
/system/addon.d/05-04-ExtraFiles.sh
/system/addon.d/05-05-GoogleCalendarSyncAdapter.sh
@@ -746,7 +745,5 @@
/system/addon.d/05-06-GoogleContactsSyncAdapter.sh
-/system/addon.d/09-01-Velvet.sh
-/system/addon.d/09-02-GBoard.sh
-/system/addon.d/09-03-DevicePersonalizationServices.sh
+/system/addon.d/05-07-GooglePlayStore.sh
/system/addon.d/09-04-PrivateComputeServices.sh
/system/addon.d/09-05-SettingsServices.sh
/system/addon.d/09-06-QuickAccessWallet.sh
@@ -753,4 +750,3 @@
-/system/addon.d/09-07-GooglePhotos.sh
/system/addon.d/09-08-TrichromeLibrary.sh
/system/addon.d/09-09-WebViewGoogle.sh
/system/addon.d/09-10-GoogleChrome.sh
@@ -757,8 +753,5 @@
-/system/addon.d/09-11-Gmail.sh
-/system/addon.d/09-12-GoogleMessages.sh
/system/addon.d/09-13-GoogleMaps.sh
/system/addon.d/09-14-GoogleTTS.sh
-/system/addon.d/09-15-GoogleRecorder.sh
/system/addon.d/09-16-GoogleDialer.sh
/system/addon.d/09-17-Drive.sh
/system/addon.d/09-18-GoogleCalendar.sh
@@ -780,6 +773,13 @@
/system/addon.d/09-34-GooglePartnerSetup.sh
/system/addon.d/09-35-GoogleFeedback.sh
/system/addon.d/09-36-GoogleLocationHistory.sh
+/system/addon.d/09-37-Velvet.sh
+/system/addon.d/09-38-GBoard.sh
+/system/addon.d/09-39-DevicePersonalizationServices.sh
+/system/addon.d/09-40-GooglePhotos.sh
+/system/addon.d/09-41-Gmail.sh
+/system/addon.d/09-42-GoogleMessages.sh
+/system/addon.d/09-43-GoogleRecorder.sh
/system/addon.d/50-lineage.sh
/system/addon.d/97-dumpimages-custom.sh
/system/addon.d/98-twrp_ab.sh

All the -f code in the addon.d scripts themselves also looks not prepared for the new numbering system. E.g.

if [ "$execute_config" = "0" ]; then
if [ -f "$S/addon.d/09-Velvet.sh" ]; then
ui_print "- Deleting up Velvet.sh"
rm -rf $S/addon.d/09-Velvet.sh
rm -rf $T/addon.d/09-Velvet.sh
fi
exit 1
fi

if [ ! -f "$S/addon.d/09-Velvet.sh" ]; then
test "$execute_config" = "1" && CopyFile "$0" "$S/addon.d/09-Velvet.sh"
fi

I put them back to their old secondary numbers, and I'll wait on these issues before trying an OTA. 👍
[Android Software Development] Nikhil:
Thank you for testing it.

If I understand correctly, you dirty flashed twice. Right?

Update: yes I re read your post and you mentioned you dirty flashed it on top of newer release (y)

I can see the files generating in expected order in the first dirty flash. Which I'm glad worked as intended.

I will definitely check it out why the followed up dirty flash messed up the indexes and also, $execute_config part of addon.d.

You can flash the older elite build to get back previous addon.d files so the next ota update can be done. Or i will try and fix this asap (targeting before your next ota update) so you could give the new changes a try.
[Android Software Development] osm0sis:
Corrected them "auto-manually" with `for i in 04-* 05-* 09-*; do prefix=$(echo $i | cut -c1-2); index=$(echo $i | cut -c4-5); sed -i "s/${prefix}-/${prefix}-${index}-/g" $i; done;` so going to try a local OTA now to see how that goes. 🤠🤞

It could do something similar to the sed during the individual app installs from the zip to set each correctly on-the-fly.

Edit: Looks good! And all seems good after the reboot. 👏

Edit 2: Still good file lists after another dirty flash! Great work! 🎉
[Android Software Development] Nikhil:
Glad the approach worked! I'm going to fix it in the source and make a release. Thanks for testing it out and fixing it! :)
[Android Software Development] Nikhil:
did you make any changes in the zip? if so, can you upload and share the link to it? the one that worked?

in the logs, I see that where "spent" is not 0, those apps have the indexes updated. This would be expected if it was uninstalled and reinstalled (what we do when we don't have space available, we delete and then install it). But again, I don't see that in logs that we've uninstalled anything to reinstall so I am wondering how GooglePlayStore and other apps were "installed fresh" generating the next index available.

When we uninstall, we remove all the traces of it, I've gotta ensure I don't delete addon.sh when reinstalling it or backup the name so it doesn't generate the newer index.

Other than that, in my tests, the indexes are surviving the dirty flash.

Edit: Okay, I see it now, definitely uninstalled and regenerated. More work to do!
[Android Software Development] osm0sis:
No, I hadn't made any zip changes, just renamed the addon.d .sh files back to their original prefix-index filenames, and modded them directly with my command above so that I could confidently check OTA survival out.
[Android Software Development] Nikhil:
Fixed internal package uninstalling messing up the addon.d index

Can you test it one more time? My tests have been successful but I don't go through the uninstalling part to make space on dirty flash, if this works on your device, should be good to release publicly!
[Android Software Development] osm0sis:
Sounds good! Can you trigger another Elite build? I'll test as soon as it's up. 👌
[Android Software Development] Nikhil:
Your build takes 25 mins to build due to highest compression. I've triggered a new build, please check after about 30 mins.
[Android Software Development] osm0sis:
Still rewriting the index numbers, unfortunately! Also, each package during the install seems to take a lot longer than it used to. 🤔
[Android Software Development] Nikhil:
Ah! I found out why! I'll fix it soon. Damn!

You may wanna purge all the addond= entries from all the prop files in /system/etc/permissions folders. Those are configured to store filenames with indexes so it survives dirty flashing. But apparently the uninstalling kicks in before it even stores the index, and the index refreshes.
[Android Software Development] Nikhil:
alright @osm0sis, I've tested it myself by enabling every single package there is, so the system space really gets full enough to uninstall stuff and make space. :D

I've applied 2 fixes to the problem and I will remove 1 in final release if the other one works

Triggered another build - ETA 10 mins.

Instructions:

- Make a copy of your newest elite build and rename the zip to RemoveOtaScripts.zip and flash it in recovery (this will remove all the addon.d traces from the system - even from prop files, so the index resets) (yeah that's a hidden feature :p)

- Flash your elite build (the index will regenerate in sequential order)

- Dirty flash elite build (this time system should not delete addon.d file while uninstalling and the index won't change)

For the final release, we need to test the code without dependency on prop file. Right now, prop file is storing the index upon it's first install and system then picks up index from the prop file upon dirty flash. It's really not needed since I've implemented an optimized solution (which will also make the installation faster). That is - skipping the removal of addon.d file upon internal uninstalling - so the index doesn't reset when the package is reinstalled.

Hope that makes sense.

Thank you for testing it out!
[Android Software Development] osm0sis:
Worked great! 🎉
[Android Software Development] MisiekDP:
Is it possible to install Google Clock too withour wiping /data partition? All the time I get error "Cannot dirty flash, wipe /data to install GoogleClock".

I use OnePlus 7 Pro with crDroid 13.
[Android Software Development] osm0sis:
It tells you that for a reason: No it's not possible.

That said, you can just install it from the Play Store and Disable the ROM's clock app.
[Android Software Development] MisiekDP:
@osm0sis I get an error :/

"You cannot install this application because you have already installed an incompatible version of this application".
[Android Software Development] Nikhil:
Your best bet right now is downloading the apk from apkmirror and trying to install it manually. If that doesn't work. You can try setting WipeRunetimePermission=1 in nikgapps.config and flash the gapps zip again to workaround this but google clock is supposed to be clean flashed, so if you run into error. You're going to have to clean flash to get back to stability.
[Android Software Development] MisiekDP:
I downloaded it manually too but I cant install it. If I good remember I get error that I get wrong signatures or something like that.

And I dont want to do a clean install. This WipeRunetimePermission=1 is safeand will not wipe my /data?
[Android Software Development] Nikhil:
No it won't wipe your data.
[Android Software Development] MisiekDP:
Damn, still this same error with this option enabled :/
[Android Software Development] osm0sis:
You must have installed it some other way, go into All apps while booted and see if it's listed and try to uninstall it.
[Android Software Development] MisiekDP:
I can't uinstall it. I can only freeze this and delete all data. But I have root too so if u tell me how to uninstall it I can try.
[Android Software Development] osm0sis:
That's not the same app. Google's is com.google.android.deskclock, so that's not the conflicting one.
[Android Software Development] MisiekDP:
So what can I do? What to check?

I tried to download apk again but I get that it has conflict with other app.
[Android Software Development] XiaoZu:
Hi Nikhil, where can I download this latest version, can you provid a link?

I´m on the way to insall a CM on my new onePlus 9 Pro (12/256)

Thanks in advance.
[Android Software Development] Nikhil:
Hi, it has been reported that newer release isn't working for oneplus 9 pro due to recent mounting changes, you can find the download links from the website https://nikgapps.com

I suggest you wait for the fix as I am yet to confirm what's wrong and fix it.

@osm0sis any chance you flashed the newer release?
[Android Software Development] osm0sis:
Hadn't noticed there was a new one. I'll check it out now. Is it "fails to flash" broken, or "take a backup" broken? 😛
[Android Software Development] osm0sis:
Looks fine to me! all_files and all_files_with_sizes are 100% identical. 🤷‍♂️
[Android Software Development] Nikhil:
'fails to flash' broken :D

A user reported - it was on crdroid recovery so not really sure if the mounting updates did not work there, I will check with him. Glad to know it worked for you on twrp, should be something else then.
[Android Software Development] osm0sis:
Yeah, dirty flash on my Lineage OP9Pro with TWRP seems flawless.

Oh, are you executing any /system/bin binaries as part of your install? If not you really shouldn't bother with apex mounts.

Not sure if you set BB= to your busybox, but the updated mount stuff doesn't use $BB anymore, so that could be a difference; with AK3 now I have things from busybox on the $PATH beforehand and just preserve the $PATH throughout.

AnyKernel3/META-INF/com/google/android/update-binary at master · osm0sis/AnyKernel3

AnyKernel, Evolved. Contribute to osm0sis/AnyKernel3 development by creating an account on GitHub.

github.com
[Android Software Development] Nikhil:
you're right, I'm only using busybox, don't really need the apex mounts. Thank you! I'll make another release without it and it should fix the issue with CrDroid recovery.
[Android Software Development] osm0sis:
The $BB thing would be the more likely cause, since you haven't put it on the PATH the install would be using the recovery's utils, which could vary and behave differently than expected.

You missed updating the umount.sh scripts too, since I see they still have $BB.
[Android Software Development] Nikhil:
I did put it on the PATH :unsure:

I wasn't able to gather enough logs to understand the root cause, but when I tested on my secondary device, the crDroid recovery was broken for all the ZIPs. As a result, I couldn't validate any changes.

Based on your suggestion, I removed the apex mount, and it resolved the issue for several users who tested it. As I don't require the apex mount, I've decided to exclude it for the time being and will be pushing a hotfix release to address this.

On further reflection, I realized I'm also not using the vendor and persist partitions. Removing those would lead to a more optimized implementation. (y)
[Android Software Development] proxyx:
With NikGapps Core, Is it ok to update Play Services when it's offered through Aurora Store?
[Android Software Development] leejongson:
I use nikGapps, and i use telegram app and zalo app can't send my location . please, how to fix it ?
[Android Software Development] leejongson:
I can't use share my location !
[Android Software Development] AlexGooner141:
hello everyone, i need some help

i need install nikgapps without any google apps, including google app and play market, but i need esim support, because without gapps using esim impossible.

What am i need to change in config file?
[Android Software Development] leejongson:
You can use MTP ( MindTheGapp Lite or Full ) , i used Nikgapps and have some error, all fixed when i use MTP .
[Android Software Development] Nikhil:
New Release is up - 07th Nov 2023 (Android 14 beta + Android 10-13 stable)

Changelog:

- Initial Android 14 Beta Release

- Fixed some issues with the installer looking at addon.sh.d folder instead of addon.d folder

Note:

- it is dirty flashable over previous build, recommending everyone to update to this build.

- we're trying very hard to allow dirty flashing without issues, however, I would still suggest backing up everything before flashing to make sure you don't lose anything if things go south.

- upgrading from android 13 to android 14 (instructions to follow)
[Android Software Development] Rapier-:
Can/Should I dirty flash only the Addon? Specifically the Pixel Launcher Addon. Also I use Evo X on Poco X3 Pro and there was a bug that will crash the launcher when use screenshot feature from recent menu. I'm not entirely sure if it's the ROM issue or not
[Android Software Development] Nikhil:
I don't recommend flashing addons that involves overlay changes on rom that already has gapps built in. If the apk coming from rom isn't working, it's highly unlikely that flashing an addon will work.

You can still take a backup and experiment by flashing the addon. But please be prepared to clean flash in case you run into issues.
[Android Software Development] Bl4ck-3y3:
How can i build my own list of gapps? If i install by addons should i install one by one??
[Android Software Development] BrandAparte:
Hey, just started using NikGapps after being a long term user of Open GApps. I figured out how to configure the nikgapps.config file to install just the GApps I want, so I can do a sort of Aroma type install without the Aroma GUI. So far so good, and I like it.

However, when the ROM update arrives, and I update the ROM, NikGApps does not survive it. Even though the recovery shows 'Backing Up GApps' and 'Restoring GApps', a ROM update erases all GApps, so I have to install the GApps again.

I forget what this process is called, but is it not possible to install NikGApps once and have it survive all the ROM updates? The NikGApps website says 'flash and forget', so am I doing something wrong? Open GApps used to be flash and forget. I didn't even used to keep the OpenGApps folder on the SD Card. With NikGApps, even if I keep the NikGApps folder, it does not survive a OTA update.

I have tried with multiple versions of TWRP as well as the LineageOS Recovery. But the result is the same.

Please guide, thanks.
[Android Software Development] Nikhil:
Hi there,

NikGapps supports OTA survival feature and you should be able to flash and forget.

can you provide more details such as device/rom name/NikGapps build date/installation logs from /sdcard/NikGapps folder?
[Android Software Development] Alcagoita:
My Android Auto stoped working after the last LineageOS update.

I've installed Lineage OS 20 on my Pixel 3XL with GApps including AA, it all worked fine for the last 2 weeks, but after the latest OS update stoped working... Bluetooth connection just keeps connecting and disconnecting (immediately).

Is there anything I can do to fix this? (other than wipe the phone and installing it all again)
[Android Software Development] Mowca:
Hello

I'm using Lineage 18.1 on samsung s10e.

The last time I installed nikgapps(omni) was with the Lineage installation in 2021.

Now I only wanted to update nikgapps. How to do it Without reinstalling everything?
[Android Software Development] asripath:
Backup your system.

Option 1 may work, if system bootloops or issue booting you would have to reflash everything

1. Reflash latest nikgapps

Option 2 safer

Uninstall NikGapps Completely

NikGapps Website

nikgapps.com
[Android Software Development] Mowca:
Uninstall by configuring nikgapps.config file​

"Uninstall by configuring nikgapps.config file"

set execute.d=0 in nikgapps.config

reflash your Rom

What is about? How to do it exactly?
[Android Software Development] Nikhil:
are other google apps working (without any sort of crashes?) - that can happen if the gapps didn't survive the OTA, if there are no crashes, it would be much better if you could share the logcat.

also, if other gapps are working file, it might just be an issue from rom side - you can also try to downgrade and see if the issue persists.

locate the nikgapps.config file (should be under /sdcard/NikGapps folder). edit it using any text editor app and set execute.d=0 in nikgapps.config. Save it and reflash the rom.
[Android Software Development] lesiot:
POCO F3 - CRDroid 14

NikGapps core - 7.11.2023

Android auto - addon 7.11.2023

Clean flash.

Do only I have problem with starting Android Auto with locked screen on Android 14?

On CRdroid 13 when I conneceted phone with a cable to auto, Android Auto was starting automaticly (with screen locked, or screen on) (options in AA to start AA without unlocking was/is on!),

Now on CRDroid 14 first I have to unlock phone (to home screen), then connect to car and AA starts, with locked sreen or turned off screen - AA is not starting.

Car, cable USB-C are the same what I used withe CR13.

Is this something in system, Android 14 or mayby Android Auto app?
[Android Software Development] Alcagoita:
Only having problems with Android Auto. How do I share AA logcat?
[Android Software Development] Nikhil:
Reproduce the issue while keeping logcat taking app like MatLog running. You can refer below links for more details.

basically, turn on Android Auto the way you did and the app should just be running in the background while you're looking at the unexpected behavior happening in your device. Stop once you see it, save the logs and share here.

[Tutorial] How To Logcat

Here's how to use logcat: There are two main ways to do a logcat, within android, and through adb. Logcat within android can be done one of two ways, through a Logcat app: Here are two good examples are either: aLogcat or Catlog I prefer...

xdaforums.com

How to take system logcats, kernel logs, and dmesg on Android

Wondering how to take logs on Android? In this guide, we tell you about the various common logs on Android and how to collect them.

www.xda-developers.com
[Android Software Development] Nikhil:
looks like an issue from the Rom side, remember the Roms aren't stable yet.
[Android Software Development] lesiot:
Thank U, I know A14 is still "beta" roms, thats I am asking (in rom thread I asked too).
[Android Software Development] _pietro:
i installed nikgapps full for android 12 but when i add my google account on startup it goes in an infinite loop, the phone is unusable... bug?!

(i'm not expert, i didn't read all the pages... why should i have to update nikgapps after the first install?!)

thanks

edit: the problem is at the moment of adding a pin, skip this step on startup... after setup, no apps drawer available

edit: used omni package, did the job, probably an incompatibility with pixel launcher....
[Android Software Development] PINO :):
Excuse my ignorance, has the go version of GApps Android 14 been released?
[Android Software Development] GolDeN_xXx:
Which version of NikGapps has Google Data Restore Tools (using online backup & restore instead of using cable)?
[Android Software Development] Rapier-:
Probably Omni and up
[Android Software Development] säbelzahntiger:
Assuming you want to install only Core, which addon is needed to have assistant and voice unlock (velvet)?

Thanks
[Android Software Development] eduardo mc:
Hello!

I want to include pixel camera version 8.3.252.388784741.13 in my zip package using nikgapps.config, or just create a zip package with just the pixel camera app. How can I do this? help please.. thank you
[Android Software Development] Nikhil:
That would be your Rom mate! :)
[Android Software Development] :
Dunno but I tried flashing opengapps with the same rom and the temperature is correct now. Not sure where the issue lies, really.
[Android Software Development] Stogie87:
Hi there and thanks for your gapps package. Really nice to flash.

But I have one question:

Can you remove YouTube Vance from basic package and include Google Markup instead?

I am using a custom rom (Havoc 3.0 Q) and YouTubeVance from your gapps package always fc. Only the Magisk version of YouTubeVance is working for me.

I think Markup would be better than Vance, cause many custom roms (including havoc) need it to edit screen pictures and haven't it in there package.

Just a suggestion. Thanks in advance and kind regards.
[Android Software Development] mvlad:
I'm using nik on crdroid 6.0 and I'm not getting any issues with yt vanced
[Android Software Development] Nikhil:
I too am not getting any issues with youtube vanced. Can you share logcat next time you face the issue?

Mostly you get fc when you already have youtube installed. Sometimes libraries of latest version of YouTube conflicts with vanced.
[Android Software Development] Nikhil:
New update is up!

Summary of changes

- Lawnchair reverted back to latest alpha version

- Enabled Playstore updates for Google apps

- Added support for next generation assistant

- Added AdAway as an addon since bromite doesn't work on Q as we expect

- Added more Addons upon user requests

- Much more (check full changelog)

https://nikgapps.github.io/downloads.html#downloads

Thank you for choosing NikGapps!
[Android Software Development] gianton:
Best Gapps thanks mate.