If you've switched ROMs before or flashed quick mods on your Android device, you've probably used TWRP or another custom recovery to install them. But another great purpose for flashing through a recovery is to install your own custom .zip file filled with everything a fresh ROM needs—namely, all your apps.
Flashable .zips may seem like complex files filled with scripts that require years of background knowledge to create, but in reality, they are pretty simple to package yourself.
There is plenty you can do with a flashable .zip, like flash new cameras and backups, but in this guide, I'm going to show you how to create a .zip to install multiple apps (using their .apk files) and a custom boot animation without having to use a root file explorer.
A flashable .zip consists of two folders; a META-INF folder that contains the update-binary and updater-script files, and a System folder that houses all the files you want to add to your device. The update-binary files contains the code that carries out the instructions laid out in the updater-script, and are universal for all flashable .zips.
Since you are going to be using the .zip you create to flash some apps or a new boot animation, you don't have to worry about anything other the System folder, so you can use the template linked above to grab a copy of a preconfigured archive with the correct META-INF files.
There are a few ways to add your .apks or animations to the template .zip depending on your personal preference. The first requires the use a .zip creation tool like WinRAR or WinZip to edit the existing template, or you can use the system archiver that is already installed on your computer to extract and recompress the template.
Keep in mind that the process will vary depending on which OS and method you choose, but the most important thing to take note of is the file system structure.
If you are using a .zip creator program, the first step is to open the app's main menu and select the option to open an existing .zip file. This option will be in a different location depending on your OS, but in this guide, I will be using WinZip on a Mac running OS X Yosemite.
Once the .zip is open, you'll be able to navigate through its folders to add or remove as many folders or files you like. However, do not mess with the contents of the META-INF folder.
To install .apks, you will need to add a folder named "app" (case sensitive) to the System folder. Place all of the APKs you want installed in that folder, then hit "Save" to have the program add them to the archive. Boot animations work the same way, but instead of placing the bootanimation.zip in the "app" folder, you will place them in "System/system/media" (case sensitive).
If you'd rather not install a new app or want to create a flashable .zip right on your Android, you can extract the template .zip, then re-archive it using a regular file explorer. Keep in mind that just like with using a program, you do not want to mess with the contents of the META-INF folder.
To install apps, create a folder named "app" (case sensitive) inside the System folder, place all of your .apks in there, and re-archive the entire thing. For boot animations, add the bootanimation.zip to your "System/system/media" directory.
The method you choose will not matter when you actually flash the .zip in recovery, just be sure to always keep a Nandroid handy in case something goes wrong.