[Q][GAPPS] How to include GAPPS in ROM? - Android Q&A, Help & Troubleshooting

Hello community!
I was wondering if anybody can help me integrate GAPPS in a ROM.
Some ROMS have them inbuilt and don't require a seperate GAPPS installation.
So yeah, is it possible and if yes, what is the procedure?
Device is Note 8 (N950F).
ROM I'm working on currently is stock based but debloated.
Thanks in advance!

SaadatM said:
Hello community!
I was wondering if anybody can help me integrate GAPPS in a ROM.
Some ROMS have them inbuilt and don't require a seperate GAPPS installation.
So yeah, is it possible and if yes, what is the procedure?
Device is Note 8 (N950F).
ROM I'm working on currently is stock based but debloated.
Thanks in advance!
Click to expand...
Click to collapse
Hi ....
first flash gapps after flashing your stock debloated rom and after booting find what apps and files are added by using sort options according to time desending in any file manager like mix and include those files in the same folders in your stock rom........Thats it......
Note: You dont have to update your update-script afterwards.....
Hope this helps

Add this code in the end of your updater script and rename your gapps file to gapps and place it inside your meta-inf folder
Code:
ui_print("Installing GAPPS...");
package_extract_dir("META-INF/gapps", "/tmp/install/bin/gapps");
run_program("/sbin/busybox", "unzip", "/tmp/install/bin/gapps/gapps.zip", "META-INF/com/google/android/*", "-d", "/tmp/install/bin/gapps");
run_program("/sbin/busybox", "sh", "/tmp/install/bin/gapps/META-INF/com/google/android/update-binary", "dummy", "1", "/tmp/install/bin/gapps/gapps.zip");

Trex2017 said:
Add this code in the end of your updater script and rename your gapps file to gapps and place it inside your meta-inf folder
Code:
ui_print("Installing GAPPS...");
package_extract_dir("META-INF/gapps", "/tmp/install/bin/gapps");
run_program("/sbin/busybox", "unzip", "/tmp/install/bin/gapps/gapps.zip", "META-INF/com/google/android/*", "-d", "/tmp/install/bin/gapps");
run_program("/sbin/busybox", "sh", "/tmp/install/bin/gapps/META-INF/com/google/android/update-binary", "dummy", "1", "/tmp/install/bin/gapps/gapps.zip");
Click to expand...
Click to collapse
Thanks, exactly what I was looking for!

Trex2017 said:
Add this code in the end of your updater script and rename your gapps file to gapps and place it inside your meta-inf folder
Code:
ui_print("Installing GAPPS...");
package_extract_dir("META-INF/gapps", "/tmp/install/bin/gapps");
run_program("/sbin/busybox", "unzip", "/tmp/install/bin/gapps/gapps.zip", "META-INF/com/google/android/*", "-d", "/tmp/install/bin/gapps");
run_program("/sbin/busybox", "sh", "/tmp/install/bin/gapps/META-INF/com/google/android/update-binary", "dummy", "1", "/tmp/install/bin/gapps/gapps.zip");
Click to expand...
Click to collapse
Hi, I would like to ask putting gapps-config in the same meta-inf folder will work or not??

MrMoon said:
Hi, I would like to ask putting gapps-config in the same meta-inf folder will work or not??
Click to expand...
Click to collapse
yes , but you have to grep and change all paths to the cnfg file i other files

Can you tell me how you add play store in ROM while editing. I want to do this all step in Android Oreo 8.1 Please help me.

Zip file is corrupt error pops up when I try flashing.

Didn't work

Little more help, please.
Trex2017 said:
Add this code in the end of your updater script and rename your gapps file to gapps and place it inside your meta-inf folder
Code:
ui_print("Installing GAPPS...");
package_extract_dir("META-INF/gapps", "/tmp/install/bin/gapps");
run_program("/sbin/busybox", "unzip", "/tmp/install/bin/gapps/gapps.zip", "META-INF/com/google/android/*", "-d", "/tmp/install/bin/gapps");
run_program("/sbin/busybox", "sh", "/tmp/install/bin/gapps/META-INF/com/google/android/update-binary", "dummy", "1", "/tmp/install/bin/gapps/gapps.zip");
Click to expand...
Click to collapse
hey there pal, I have unpacked the whole ROM package and then I've replaced all the stock apks with the google ones. But once I repack and I install the zip, Android Setup crashes.
I'm on Android 11. Any help?
I would really appreciate it.

Related

[SOLVED] Help modifying (flashing) theme files.

Alright, I'm wanting to modify the theme of my rom (eclipse 2.0.2 to be exact). I'll explain my steps below, but the problem I'm having is when flashing the update.zip from my SD card during BSR, I get "E: There is a syntax error in the update" and nothing happens.
Here's my steps. I'm using APK manager 4.9, trying to modify Eclipse 2.0.2.
1. I've installed APK Manager and it's running fine.
2. I grab "framework-res.apk" from Eclipse /system/framework directory and place it inside APKManager's "place-apk-here-for-modding" dir.
3. I run APKManager and choose option 9 (Decompile APK)
4. Once decompiled, I edit the files inside APKManager's "project" dir.
5. I then run APKManager and choose option 11 ("Compile APK"). This places "unsignedframework-res.apk" in the "place-apk-here-for-modding" dir.
6. I take this new file, rename it to "framework-res.apk" and place it in a zip file, along with the META-INF. Here is my dir structure inside the .zip:
Code:
/META-INF/com/google/android/update-script
/system/framework/framework-res.apk
7. I place the following code inside "update-script"
Code:
show_progress 0.1 0
copy_dir PACKAGE:system SYSTEM:
set_perm_recursive 0 0 0755 0644 SYSTEM:framework
show_progress 0.1 10
8. I then sign the .zip using "Testsign" (http://forum.xda-developers.com/showthread.php?t=538020)
9. I now place the newly signed .zip onto my sd card.
10. I reboot my phone into BSR, clear cache/dalvik cache, and attempt to install update from zip.
11. After selecting my .zip and starting the update process, I get the syntax error.
Any ideas? What am I doing wrong?
-------------------------
UPDATE
-------------------------
This topic is solved!
To make this even simpler, download Framework Flasher and easily create flashable update.zip files! http://forum.xda-developers.com/showthread.php?p=21113455
The structure of the files must be like the following:
update.zip/system/framework/framework-res.apk
Store file here
update.zip/META-INF/com/google/android/updater-script
Code:
ui_print("Installing...");
show_progress(0.1, 0);
run_program("/sbin/busybox", "mount", "/system");
package_extract_dir("system", "/system");
show_progress(0.1, 10);
show_progress(0.2, 0);
show_progress(0.2, 10);
set_perm_recursive(0, 0, 0755, 0644, "/system/framework/framework-res.apk");
ui_print("Done!")
run_program("/sbin/busybox", "umount", "/system");
update.zip/META-INF/com/google/android/update-binary
You will need to pull this from a ROM or Theme .zip
Thanks!
Would this be better off posted in another Droid x2 forum? Or is this the correct forum? I'm still needing help with this. I just can't seem to get it to work for some reason. Thanks again!
Sent from my DROID X2 using XDA App
This is the correct forum. Hopefully one of our fantastic themers decide to poke their head in and answer but to me it sounds like a problem while creating your zip file.
Sent from my DROID X2 using xda premium
Not sure if this is your issue but I'm pretty sure there's an update to APK Manager. I'm also playing around with theming and I believe the version I have is 5.
Yeah I definitely think the problem is due to either the zip sign our the update-script file.
As for updating apk manager, I'll try it, but I read somewhere that apk manager has bugs and to stick with 4.9. I did however update apktool.jar to the latest version.
Sent from my DROID X2 using XDA App
Don't rename the file in step 6. Do option 12 to sighn the apk. That will create sighnedframework-res. Rename that file and put it in your zip.
I use version 5. Think the option is still 12 to sign the file.
EDIT: Sorry I see step 8 where you sign the apk. I missed that. Never used 4.9 myself.
Sent from my DROID X2 using Tapatalk
hedwig34 said:
Don't rename the file in step 6. Do option 12 to sighn the apk. That will create sighnedframework-res. Rename that file and put it in your zip.
I use version 5. Think the option is still 12 to sign the file.
EDIT: Sorry I see step 8 where you sign the apk. I missed that. Never used 4.9 myself.
Sent from my DROID X2 using Tapatalk
Click to expand...
Click to collapse
Thanks for that reply. I've since downloaded APKManager v5 and signed the APK like you said. I signed the .zip as well. However, I still ended up getting the syntax error.
After more research, I learned the differences between update-script and updater-script. So, I've converted to use the newer method (updater-script).
Inside my updater-script:
Code:
show_progress(1.000000, 0);
mount("yaffs2", "MTD", "system", "/system");
set_progress(0.200000);
package_extract_dir("system", "/system");
set_progress(0.400000);
set_perm(0,0,0644,"/system/framework/framework-res.apk");
set_progress(0.500000);
unmount("/system");
set_progress(0.900000);
ui_print("Update complete. FINALLY");
set_progress(1.000000);
I'm no longer getting the syntax error like before, but now, all I see is the following messages:
Code:
Finding update package...
Opening update package...
Installing update...
THEN IT JUST FREEZES. I end up having to remove my battery and reboot my phone.
Why is this so hard for me?
I do believe its your update script it does not look right at all to me but I'm not using same device will have a look later when I get up
sent from my dhd
leith51 said:
I do believe its your update script it does not look right at all to me but I'm not using same device will have a look later when I get up
sent from my dhd
Click to expand...
Click to collapse
Well, after even more research, I've learned some more. I've ditched the UPDATE-SCRIPT idea since updater-script is the preferred method of flashing.
In order to run updater-script, you need the "update-binary" files as well. As far as I know, all this file does is interpret the updater-script so it can be read. So I grabbed update-binary from a theme .zip that was posted on these forums and am using that.
Along with that, here is my modified updater-script
Code:
show_progress(0.200000, 10);
ui_print("Installing...");
mount("MTD", "system", "/system");
show_progress(0.500000, 40);
package_extract_dir("system", "/system");
show_progress(0.100000, 10);
ui_print("Done!");
unmount("/system");
This code seems to be working, but not 100% yet. I was getting status 6 errors until I converted the newline characters from windows to unix. Now that I've done that, I'm getting Status 7 errors.
So that's where I stand now. With a Status 7 error. Below is my updated .zip structure just for clarification:
Code:
/META-INF/com/google/android/(updater-script and update-binary)
/system/framework/(framework-res.apk)
I'm getting close, but not quite there.
i also am trying to figure this out, i hope you figure it out man
try this script
ui_print("Installing...");
show_progress(0.1, 0);
run_program("/sbin/busybox", "mount", "/system");
package_extract_dir("system", "/system");
show_progress(0.1, 10);
show_progress(0.2, 0);
show_progress(0.2, 10);
set_perm_recursive(0, 0, 0755, 0644, "/system/framework/framework-res.apk");
ui_print("Done!")
run_program("/sbin/busybox", "umount", "/system");
if this does not work let me know also like i said i dont have the device so are you you sure its mtd and not emmc ?
leith51 said:
try this script
ui_print("Installing...");
show_progress(0.1, 0);
run_program("/sbin/busybox", "mount", "/system");
package_extract_dir("system", "/system");
show_progress(0.1, 10);
show_progress(0.2, 0);
show_progress(0.2, 10);
set_perm_recursive(0, 0, 0755, 0644, "/system/framework/framework-res.apk");
ui_print("Done!")
run_program("/sbin/busybox", "umount", "/system");
if this does not work let me know also like i said i dont have the device so are you you sure its mtd and not emmc ?
Click to expand...
Click to collapse
Wow thanks! The busybox method worked flawlessly, no problem.
I'll update my original post in this topic to help whoever is needing help with this. I also created a script that will automate this entire process for you! Check the original post in this topic for all the details.
Thanks to everyone that helped!
Hi community,
Sorry for bumping this old thread but I'm having some issues when trying this stuff, I created the update.zip file but can't flash it.
The error I get with flashboot is
$ fastboot update update.zip
ERROR: could not clear input pipe; result e000404f, ignoring...
ERROR: could not clear output pipe; result e000404f, ignoring....
archive does not contain 'android-info.txt'
error: update package 'update.zip' has no android-info.txt
And
$ adb sideload upload.zip
shows error installation aborted on the device
This is the only thread that I've seen when users are reporting that the operation was successfully accomplished, although my device is different that's why I'm posting here.
Any help or comment is appreciated,
King regards.

[Q] Stock 1.4.0~1.4.2 image?

Hey - I'm looking for a stock, unrooted image of the original BN software. I'd like to restore the image via CWM as mine is screwed up with GApps - a factory reset does not get rid of it.
Thanks!
Just for the gapps there is no need to flash images. btw you don't mention for what model if 8GB or 16GB.
Here's a trick that might work... the gapps zip (most of well done zips) contains a script named updater-script within META-INF >> com >> google >> android >> updater-script which contains the following code:
* Uncompress the gapps zip e.g: gapps-gb-20110828-signed.zip in another folder to get access to updater-script file
ui_print("GApps 20110828");
ui_print(" For Android 2.3.5");
ui_print("Mounting system...");
run_program("/sbin/busybox", "mount", "/system");
show_progress(1, 15);
ui_print("Deleting old APKs...");
delete("/system/app/Books.apk",
"/system/app/BooksPhone.apk",
"/system/app/CarHomeLauncher.apk",
"/system/app/CarHomeGoogle.apk",
"/system/app/FOTAKill.apk",
"/system/app/GenieWidget.apk",
"/system/app/Gmail.apk",
"/system/app/GoogleBackupTransport.apk",
"/system/app/GoogleCalendarSyncAdapter.apk",
"/system/app/GoogleContactsSyncAdapter.apk",
"/system/app/GoogleFeedback.apk",
"/system/app/GooglePartnerSetup.apk",
"/system/app/GoogleQuickSearchBox.apk",
"/system/app/GoogleServicesFramework.apk",
"/system/app/googlevoice.apk",
"/system/app/kickback.apk",
"/system/app/LatinImeTutorial.apk",
"/system/app/Maps.apk",
"/system/app/MarketUpdater.apk",
"/system/app/MediaUploader.apk",
"/system/app/NetworkLocation.apk",
"/system/app/OneTimeInitializer.apk",
"/system/app/SetupWizard.apk",
"/system/app/Provision.apk",
"/system/app/QuickSearchBox.apk",
"/system/app/soundback.apk",
"/system/app/Street.apk",
"/system/app/Talk.apk",
"/system/app/Talk2.apk",
"/system/app/talkback.apk",
"/system/app/Vending.apk",
"/system/app/VoiceSearch.apk",
"/system/app/YouTube.apk",
"/system/etc/permissions/com.google.android.maps.xml",
"/system/etc/permissions/features.xml",
"/system/framework/com.google.android.maps.jar",
"/system/lib/libmicrobes_jni.so",
"/system/lib/libtalk_jni.so",
"/system/lib/libvoicesearch.so");
ui_print("Copying new APKs...");
package_extract_dir("system", "/system");
ui_print("Unmounting system...");
run_program("/sbin/busybox", "umount", "/system");
ui_print("Installation complete!");
Click to expand...
Click to collapse
You could modify it with Notepad or Notepad++(Highly recommended) and for example remove the line "/system/app/YouTube.apk", if you have it installed and don't want the script "delete" it because it is under ui_print("Deleting old APKs..."); section so it will delete all the apps stated after that piece of code.
Then you could remove this part:
ui_print("Copying new APKs...");
package_extract_dir("system", "/system");
Click to expand...
Click to collapse
Because you are modifying the code to be your uninstaller so no apk's will be installed. Once done save changes and replace the original file with your modified by drag and dropping it while you have gapps-gb-20110828-signed.zip opened with WinRAR or 7ZIP.
One more and obvious thing is that you must delete the system folder of the gapps-gb-20110828-signed.zip file or leave the system folder empty (probably is better to keep system folder but empty)
~ Veronica
Sent from XDA premium using my Nook Tablet
lavero.burgos said:
Just for the gapps there is no need to flash images. btw you don't mention for what model if 8GB or 16GB.
Here's a trick that might work... the gapps zip (most of well done zips) contains a script named updater-script within ....
I'LL CONTINUE THIS POST SOON
~ Veronica
Sent from XDA premium using my Nook Tablet
Click to expand...
Click to collapse
I think I fixed the issue, but I'd like to see the rest of your post
PS - 16GB
[EDIT] Ok, I totally fixed it thanks to a couple of users! Here's what I did:
I used cobrato's 1.4.1 zip which I flashed via CWM - this got rid of the Google Setup Wizard, but added extras I did not want. Then I used Indirects One Click Unroot, which performed a factory software install. So now I'm back to 1.4.2 and COMPLETELY stock.
Time to back up this image! That being said, I would sure help some folks if we had totally stock, unrooted images that can be installed via CWM.
Finished my post...
~ Veronica

Flashable Batch of Apps from CWM

Hello XDA people,
I'm trying to make a zip file which can be flashed through CWM. The zip file will include:
Code:
a batch of apps in the /system/app folder
The purpose of this zip is to quick install a bunch of apps after installing a new rom.
I'm guessing that simply drag dropping a bunch of apps inside the system/app zip folder will be enough, right?
The problem is that i don't have a dummy flashable zip file to work with. Can someone please help with this?
ps: i've tried app2zip from market, it doesn't work on s5360
its easy,but system partition have a size limit
i've tried making it but keep getting a "status 0 aborted" error.
What is the system size limit?
Will it help if i delete some big apps from system like maps and swype? I already have almost 50mb free on sys partition.
Can you give me the dummy file to test. preferably both for /data/app and /system/app
broadways said:
Hello XDA people,
I'm trying to make a zip file which can be flashed through CWM. The zip file will include:
Code:
a batch of apps in the /system/app folder
The purpose of this zip is to quick install a bunch of apps after installing a new rom.
I'm guessing that simply drag dropping a bunch of apps inside the system/app zip folder will be enough, right?
The problem is that i don't have a dummy flashable zip file to work with. Can someone please help with this?
ps: i've tried app2zip from market, it doesn't work on s5360
Click to expand...
Click to collapse
you need to sign the zip via zip signer (search in themes and apps) and write an updator script (google it)
i dont think size matters much because many rom zips contain only a /system folder
system folder has only 1limitation
the total memory is 222 mb so be carefull about that
your apps should not exceed this size
I got it working... Here is the code for anyone who needs it... found @ META-INF\com\google\android\updater-script file
Code:
ui_print("Partitions mount");
#Properly unmounting to avoid issues
run_program("/sbin/busybox", "umount", "/system");
run_program("/sbin/busybox", "umount", "/cache");
run_program("/sbin/busybox", "umount", "/data");
#Then mounting
run_program("/sbin/busybox", "mount", "/system");
run_program("/sbin/busybox", "mount", "/cache");
run_program("/sbin/busybox", "mount", "/data");
ui_print("System folder application installation");
package_extract_dir("system", "/system");
ui_print("Unmounting partitions");
run_program("/sbin/busybox", "umount", "/system");
run_program("/sbin/busybox", "umount", "/cache");
run_program("/sbin/busybox", "umount", "/data");
ui_print("Finish");
With this code, anyone can load multiple apps from flash in 5 seconds.
There's another problem. While installing apps @ system/app works fine with the above script, a different script for installing apps @ data/app doesn't work at all. I have created a thread for this issue at the following link below:
http://forum.xda-developers.com/showthread.php?p=35698853
broadways said:
Hello XDA people,
I'm trying to make a zip file which can be flashed through CWM. The zip file will include:
Code:
a batch of apps in the /system/app folder
The purpose of this zip is to quick install a bunch of apps after installing a new rom.
I'm guessing that simply drag dropping a bunch of apps inside the system/app zip folder will be enough, right?
The problem is that i don't have a dummy flashable zip file to work with. Can someone please help with this?
ps: i've tried app2zip from market, it doesn't work on s5360
Click to expand...
Click to collapse
I think its better to make a backup using CWM and restore only data.
copy the zip from my signature (stock deadexed)
its for flashing bunch of apps to our device
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~ sent using busybox command via Cytherea phone ~
Spoiler
LESSON 1: dont ask for ETA's, the mod-wanna-be-guy will report it
---------- Post added at 02:24 PM ---------- Previous post was at 02:23 PM ----------
add or delete any apps from app folder..
dont forget to delete framework folder as u not need it..
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~ sent using busybox command via Cytherea phone ~
Spoiler
LESSON 1: dont ask for ETA's, the mod-wanna-be-guy will report it

[SOLVED] How to integrate zips while building a custom rom

Hello xda..I have been working on a custom rom based on 6.0.1 from the past few days and want to integrate xposed framework, supersu and some other mods in it but all are flashable zip files. My question here is how do you actually integrate the contents of .zip files in rom instead of manually flashing the file through recovery? I am looking forward for to your answer guys. Thank you
Fix:
Code:
package_extract_dir("root", "/tmp");
run_program("/sbin/busybox", "unzip", "/tmp/supersu/supersu.zip", "META-INF/com/google/android/*", "-d", "/tmp/supersu");
run_program("/sbin/busybox", "sh", "/tmp/supersu/META-INF/com/google/android/update-binary", "dummy", "1", "/tmp/supersu/supersu.zip");
Add that to your updater script. Make a folder in the root of your zip (where u have system, metainf folder and boot.img) called "root" inside that folder make another called "supersu" inside that folder put SuperSu zip in it and rename the zip to "supersu"
For xposed or other zips just do the same thing.
Replace supersu with the name of the zip... Another alternative would be to use AROMA installer.
Solved
Fix found guys. Thanks to my developer friend ShinySide..
KingRaheel said:
Hello xda..I have been working on a custom rom based on 6.0.1 from the past few days and want to integrate xposed framework, supersu and some other mods in it but all are flashable zip files. My question here is how do you actually integrate the contents of .zip files in rom instead of manually flashing the file through recovery? I am looking forward for to your answer guys. Thank you
Fix:
Code:
package_extract_dir("root", "/tmp");
run_program("/sbin/busybox", "unzip", "/tmp/supersu/supersu.zip", "META-INF/com/google/android/*", "-d", "/tmp/supersu");
run_program("/sbin/busybox", "sh", "/tmp/supersu/META-INF/com/google/android/update-binary", "dummy", "1", "/tmp/supersu/supersu.zip");
Add that to your updater script. Make a folder in the root of your zip (where u have system, metainf folder and boot.img) called "root" inside that folder make another called "supersu" inside that folder put SuperSu zip in it and rename the zip to "supersu"
For xposed or other zips just do the same thing.
Replace supersu with the name of the zip... Another alternative would be to use AROMA installer.
Click to expand...
Click to collapse
This works well for zips where the updater-script is dummy.....
what about the zips like A-Gapps and Arya-Sound mod...where their is a actual working updater-script....
this code doesn't work in this situation....

Integrating zips inside ROM zips

So guys, this is is my 1st thread in xda...Don't know exactly where to post....so sorry if i broke any rule.
please don't delete this...
My question is how to integrate normal flashable zips inside a ROM zip...
I mean the zip in which the updater-script is not dummy
There are some zips available like A-GAPPS 6.0 and AryaSoundMod in which updater-binary is not a actual file...
the main codes are written in updater-script. So how to call this file within main updater-script file so that it get flashed.
Code:
run_program("/sbin/busybox", "unzip", "/tmp/magisk/magisk.zip", "META-INF/com/google/android/*", "-d", "/tmp/magisk");
run_program("/sbin/sh", "/tmp/magisk/META-INF/com/google/android/update-binary", "dummy", "1", "/tmp/magisk/magisk.zip");
We use such line for flashing updater-binary files...
What command should be given for updater-script ???
Please help Devs.

Categories

Resources