App in data/app doesn't show up - Nexus 4 Q&A, Help & Troubleshooting

Hello!!
I have a problem, and I'll struggle to give as many details necessary for a fast solving.
During this last week, I've been trying to build my own ROM from scratch, for educational purposes. I managed to compile a ROM from SlimBean source, and everything went fine. It works. I replaced the Holo launcher with Trebuchet Launcher on it. Unfortunately, on the Nexus 4, Trebuchet preferences aren't accessible due to the lack of a default menu button. I managed to make an app with some help from a nice guy in this thread (http://forum.xda-developers.com/showthread.php?p=42090229#post42090229) to launch the Trebuchet Preferences activity. It's a very simple app. Placing the app in system/app, then flashing the ROM, makes the app force close on opening. Placing the app in data/app inside the ROM zip, then flashing the ROM makes the app to not install. The app simply doesn't show in the app drawer. When manually installing the app, it works like a charm.
I added the following lines in the updater-script:
Code:
package_extract_dir("data", "/data");
set_perm(1000, 1000, 0771, "/data");
set_perm_recursive(1000, 1000, 0771, 0644, "/data/app");
My ROM.zip consists of the following stuffs:
system, data, meta-inf, boot.img
In my /data folder I only have an "app" folder, where the app is located. Do I need other stuff for the app to work normally? The weird thing it that I tried to put other apps in this folder, and they installed normally.
TL;DR:
I made a simple app, put it in my ROM.zip in the data/app folder, and it doesn't show up in the app drawer after installing the zip.
Hope you can help me out. Thanks for future replies.

Edit : PM sent

Related

[Q] How to create a zip compatible with CWR v3.0.0.5.

Hello.
For several days, I tried to create a "zip file" you can install via Clockwork Recovery 3.0.0.5. I tried to use "Update-Zip-Packager" but when I go to install the zip CWR tells me that the update is not good for the 3.0.0.5 version of Clockwork Recovery. Is there any software similar to Zip-Update-Packager creates update.zip compatible with version 3.0.0.5?
I want to create this zip only to delete some files that are always present in "system / app" so as not remove them manually each time.
I do the following steps:
1. Create a folder named Update.
2. Create "Update\META-INF\com\google\android\updater-script" in wich I write the following lines using Notepad:
ui_print("CLEANER");ui_print("-----------");mount("MTD", "system", "/system");show_progress(1, 10);delete("/system/app/app1.apk");delete("/system/app/app2.apk");delete("/system/app/app3.apk");show_progress(0.200000, 10);unmount("/system");ui_print("=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-");
where am I wrong?
Many thanks ..
PS: Sorry for my bad English...
help me please...
You are a Windows guy, Linux doesn't like Windows NOTEPAD.
You must use Linux friendly Text Editor.
Try Notepad++
Make sure you have update-binary still in the folder where your update-script is.
Code:
ui_print("CLEANER");
ui_print("-----------");
mount("MTD", "system", "/system");
show_progress(1, 10);
delete("/system/app/app1.apk");
delete("/system/app/app2.apk");
delete("/system/app/app3.apk");
show_progress(0.200000, 10);
unmount("/system");
ui_print("=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-");
Looks okay to me, but you do have to keep note, the code looks gibberish to me.
Uh.. there is a Update-Zip-Packager?!?? "-_____-
sigh, I was typing it in notepad++

[DEV][TOOL] easyFLASHABLEzipBUILDER v1.0

For those who want an easy way to create and sign CWM flashable zips via windows, look no further... this is about as easy as it gets!
1. Unzip contents of package to a folder we'll call this folder "tools"
2. in "tools" you will now have the included files plus and "update" folder
3. in "update" folder you have "META-INF," "system," & "data" folders
4. place any files you want copied to system in "system" folder, make sure your structure is proper.
5. place any files you want copied to data in "data" folder, make sure structure is proper.
6. once you have everything set in place, you have four options:
• 6a: drag the folder on top of "DRAGandDROPzipANDsign.bat" wait for it to finish, you will end up with {folder_name}_update.zip in the same folder as 7za.exe
• 6b: double click SIGNandZIPmanual.bat, type the name of the working folder, hit enter, wait for it to finish, it will loop back and allow you to complete another task, or hit X + Enter exit.
• 6c: double click SIGNonlyMANUAL.bat, enter just the zip filename you want to sign (no extension), hit enter and wait for it to finish. It will loop back and allow you to sign another one or hit X + Enter to exit.
• 6d: drag a ZIP on top of DRAGandDROPsignONLY.bat to sign/re-sign a zip that's already been built.
Click to expand...
Click to collapse
I suggest if you are using this method to replace any system files, to delete the existing file first by adding some lines to the updater-script found in the META-INF folder. as follows:
Code:
delete("/system/app/Rosie.apk");
these lines can be added below the
Code:
mount("MTD", "data", "/data");
line... make sure filenames correct because they are case sensitive.
Hopefully this will make your lives a little easier =)
LATEST VERSION MIRROR: CLICK HERE
Code:
CHANGELOG:
1.1 - Current
~~* Silent update, forgot to include a couple of the updated files... oops! =)
1.0 - Update
~~* All drag & drop versions now support dragging and dropping from anywhere, not just the "working" directory.
~~* Fixed manual versions, where the loopback to work with more files was not working properly.
~~* Now deletes the unsigned zip after building the signed zip.
~~* Cleaned up folder a bit, now works from _bin folder, and outputs to _out folder. Batch file should stay in "main" folder, one level above _bin folder.
0.9 - Update
~~* Added sign only, manual plus drag & drop versions
~~* Included FR translation (google) of the d&d zip and sign
0.8 - Update
~~* removed the random .apk that was accidentally included in 0.6, not sure what happened to 0.7... lol
0.6 - Initial forum release
quick little update... apparently I had included a small .apk in the update folder... my bad, sorry for the waste of bandwidth =)
as the great homer simpson would say: DOH!
Hi ...
I'm not developer but it seems what you're doing will help other developers (and in the end: I'll benefit from that)...
Here's a "thank you" note..
... note: this post is just my way to become a post-whore like you.... j/k
would it also work for Amon-RA?
bestofrhcp said:
would it also work for Amon-RA?
Click to expand...
Click to collapse
yes, latest versions of amon-ra and cwm are both work only with edify scripts, so yes. you just need to know what your specific system & data paths are, system should be the same for everyone, but some devices use userdata /userdata instead of data /data... hopefully that makes sense =)
hope this helps =)
a new version, for the "manual" script will actually loop back when finished building/signing a zip, so that you can do multiple build/sign sessions, without having to reopen the script after every build/sign session will be updated shortly... I've already tested it and got it working... no real changes to the drag-and-drop file as it's not really necessary... I am trying to figure out a way to do a drag and drop sign only script, so once I have that figured out I will updated again...
updated =)
Thanks! This will save me from using Terminal Emulator after each cm nightly flash.
wilnotdie said:
thanks! This will save me from using terminal emulator after each cm nightly flash.
Click to expand...
Click to collapse
oops! Oops! ^~^
UDPATED... sorry if you downloaded 1.0, download again now @ 1.1... forgot to include a couple of the updated files... double checked everything this time though... =) enjoy!
looks like you might be able to answer my question
was playing around and deleted systemui.apk from system\app folder...
was trying to replace with another one... that did not work...
so i tired putting back the original one... and that does not install either...
is there a way to install that back on ?
if it is just guide me a lil bit...
will this procedure actually install the file?
http://forum.xda-developers.com/showthread.php?t=1268661
thank you
heart_crafter said:
looks like you might be able to answer my question
was playing around and deleted systemui.apk from system\app folder...
was trying to replace with another one... that did not work...
so i tired putting back the original one... and that does not install either...
is there a way to install that back on ?
if it is just guide me a lil bit...
will this procedure actually install the file?
http://forum.xda-developers.com/showthread.php?t=1268661
thank you
Click to expand...
Click to collapse
just do this
Code:
adb remount
adb push SystemUI.apk /system/app
adb reboot
no need to "install" it, it just needs to be in the system/app folder at boot time... you might actually want to "adb reboot recovery" instead of "adb reboot" and then clear dalvik before rebooting into OS again...
I tried testing it by droping a apk in a folder called app and then dropping the app folder in data and then went ahead and used the .bat. I went into recovery, flashed it without an error but nothing was installed once i booted. Any ideas? Dont scripts very like some have a run program system/xbin/busybox etc?
edit. I was able to move the folder from data to system and then ran the script and flashed it and it worked, it should up once it booted. Is there any way to get it to flash data/app?
benjamminzIS said:
just do this
Code:
adb remount
adb push SystemUI.apk /system/app
adb reboot
no need to "install" it, it just needs to be in the system/app folder at boot time... you might actually want to "adb reboot recovery" instead of "adb reboot" and then clear dalvik before rebooting into OS again...
Click to expand...
Click to collapse
thanks for the code...
but i already had copied the file into system/app... and it wasnt working (wasnt installing) just did a dalvic wipe now... and looked at that file permission and it was different from all other system apps... so i matched them up.. and rebooted ... and systemtray is back
thank you!
jgrimberg1979 said:
edit. I was able to move the folder from data to system and then ran the script and flashed it and it worked, it should up once it booted. Is there any way to get it to flash data/app?
Click to expand...
Click to collapse
here's the hint from the first post:
benjamminzIS said:
I suggest if you are using this method to replace any system files, to delete the existing file first by adding some lines to the updater-script found in the META-INF folder. as follows:
Code:
delete("/system/app/Rosie.apk");
these lines can be added below the
Code:
mount("MTD", "data", "/data");
line... make sure filenames correct because they are case sensitive.
Click to expand...
Click to collapse
copy the extract_package line that references "system" and change "system" to "data" in all cases, or if you have no need to copy anything to system then just change all "system" cases to "data" rename the "system" folder to "data" then add your files as necessary...
I am not sure i understand. Let me try and clarify what i am in trying to do. I am trying to build a flashable zip that contains an apk that i want to essential be installed in data/app directory. thats it.
What i see from the script below is that you have everything covered, system and data, so i am assuming if nothing is in the folder as system then it will be skipped over, correct
ui_print("");
ui_print("");
ui_print("Clearing dalvik cache ...");
delete_recursive("/data/dalvik-cache");
mount("MTD", "system", "/system");
mount("MTD", "data", "/data");
ui_print("");
ui_print("");
ui_print("Installing files to system ...");
package_extract_dir("system", "/system");
unmount("/system");
ui_print("");
ui_print("");
ui_print("Installing files to data ...");
show_progress(0.700000, 50);
package_extract_dir("data", "/data");
unmount("/data");
show_progress(10.000000, 1);
ui_print("Done.");
jgrimberg1979 said:
I am not sure i understand. Let me try and clarify what i am in trying to do. I am trying to build a flashable zip that contains an apk that i want to essential be installed in data/app directory. thats it.
Click to expand...
Click to collapse
oh ok... sorry... yeah I think for anything that goes to data, there needs to be an install command try adding install("/data/app/filename.apk"); for each file, after the package_extract_dir("data", "/data"); function... not sure if that is correct, but maybe?

[TUTORIAL] Create your own UPDATE.ZIP

Hi all! This is a guide from PIRATEPARTY about the creation of a simple UPDATE.ZIP to flash on your Android phone, in recovery mode.
I've created a repository on GITHUB where you can download the "update.zip" that we'll use and modify.
So, this is the repository: update.zip--for-Android-Devices-
You can download it as ZIP archive and rename it as update.zip .
So, we have now the most important file, that we're going to modify:
All the apps that you want to insert in the archive and install on the phone, must have the .apk estension and you have to put them in /data/app . Then, if you want also the app data files, you have to take these files from your phone, going with a rooted file manager (i suggest Root_Explorer) to /data/data , copying the app folder and pasting it in /data/data of the UPDATE.ZIP.
So we have all the apps and datas that we want. Now, we have to write the script.
Let's go to META-INF/com/google/android/ and open 'updater-script' with a simple text editor.
The only lines that you have to modify are:
Code:
set_perm(1000, 1000, 0644, "/data/app/[PACKAGE].apk");
set_perm_recursive(1000, 1000, 0777, 0777, "/data/data/PACKAGE_DATA_FOLDER");
delete("/data/dalvik-cache/[email protected]@[PACKAGE][email protected]");
For each app you have to write these lines. This is an example if you want to put ROOT_EXPLORER.APK in the UPDATE.ZIP:
Code:
set_perm(1000, 1000, 0644, "/data/app/ROOT_EXPLORER.APK");
set_perm_recursive(1000, 1000, 0777, 0777, "/data/data/ROOT_EXPLORER_DATA_FOLDER");
delete("/data/dalvik-cache/[email protected]@ROOT [email protected]");
That' all. But if you want to delete some apps from your phone, you have to write between
Code:
ui_print("| 80% Installing Applications |");
and
Code:
package_extract_dir("data", "/data");
this line:
Code:
delete("/APK_DIR/APP.APK");
IT'S IMPORTANT TO LEAVE AN EMPTY LINE AT THE END OF THE SCRIPT, OTHERWISE THE ZIP WON'T WORK!
You can easily find the name of the app going with Root Explorer to /system/app and searching the same app.
If you also want to add your modified Apps, you've to sign them with a simple app: Auto-Sign, putting them in /auto-sign/update/app and renaming it to Launcher.apk .
You can download AUTO-SIGN from the attachements!
With it you can sign your apks or your zip. So, finally, when you'll finish your zip, you'll have to put it in Auto-Sign folder ("/auto-sign").
Then, open Auto-Sign, choose your zip or apk, and click AUTO-SIGN. It will create a new apk or zip, name as SIGNED-apk/zip.
Now, you only have to put the update.zip on your sd-card and flash it! Have fun guys!
mackief,
Thanks for your tutorial. I wrote a removal script for GB that deletes everything i don't use in my ROM. I recently moved to ICS and that very script is still working but, each time, during restart, I lose root rights.
Any idea where it could come from?
What rom are u using?? What device??
I think that the problem is about the rom, cause you said that u didnt have problem in previous rom and you used the same script...
So, to find the problem, i have to know the rom, the device, and the script.
Can you post the script here?
mackief,
Sorry for having been so long to answer, I was not monitoring the thread
I use nightly CM9 roms for my Note (N7000). You'll find attached my latest script that still bothers me.
If you can have a look at it, it would be nice.
good lession for tweaking my one x
vua777 said:
good lession for tweaking my one x
Click to expand...
Click to collapse
I'm glad do help you!
The_Steph said:
mackief,
Sorry for having been so long to answer, I was not monitoring the thread
I use nightly CM9 roms for my Note (N7000). You'll find attached my latest script that still bothers me.
If you can have a look at it, it would be nice.
Click to expand...
Click to collapse
I read your script, but i think that the only problem is about the root app: Superuser and his components. So, check out if some elements that you want to delete are associated to Superuser, and dont delete superuser.apk .
However, usually, in CM9 there are some apps that you CANT and HAVE NOT to delete. I suggest to you to read this file: REMOVABLE APPS
So, Superuser gives you root rights, so dont delete it.
Dont delete the list of apps that is on the link above.
The last suggestion is that you have to check if you're deleting something else that can create bugs with superuser and his working.
Write me if you want to know something else or also if these solutions arent useful: i'll help you! Bye!
Interesting guide. I am curious though, you have it setting permissions but have you tried it without doing so? I ask because I made a script for CWM which copies my apk's to data/app/ and I don't set permissions and have no issues. In theory you shouldn't need to, the apk should retain the proper permissions even when copied. As well, why not set the permissions for the entire contents of the folder, ie, set the permission recursively like you do for data/data and have it run at the end of the script once everything is copied?
Lastly, one thing to note with this method of installing apps is that your first boot will take awhile, the ROM has to create the Dalvik for all the apps you just flashed, I hadn't considered that when i first ran my script and thought something was wrong.
Волк said:
Interesting guide. I am curious though, you have it setting permissions but have you tried it without doing so? I ask because I made a script for CWM which copies my apk's to data/app/ and I don't set permissions and have no issues. In theory you shouldn't need to, the apk should retain the proper permissions even when copied. As well, why not set the permissions for the entire contents of the folder, ie, set the permission recursively like you do for data/data and have it run at the end of the script once everything is copied?
Lastly, one thing to note with this method of installing apps is that your first boot will take awhile, the ROM has to create the Dalvik for all the apps you just flashed, I hadn't considered that when i first ran my script and thought something was wrong.
Click to expand...
Click to collapse
At first, i have to say to u that permissions can be not specified: i think that all the files that u put in a folder have the same permission of the folder. I set permissions only for safety.
Then, about the first boot duration, there's nothing wrong.
The system only take a while to put into effects the changes, creating the Dalvik for example.. Don't worry: it's normal!
I know it's building dalvik, it simply hadn't occurred to me initially that that was the reason for it not booting. A file can have a different permission than the folder, but I think it's only that you can have the folder r/w and a file r/o. Then, on your script you can just set permissions recursively and save yourself setting permission for each app/file individually.
Sent from my LG-P999 using xda premium
Yeah! You can just do it!
Before CWM 5, I used to have a script that would let me add lots of files without individual lines for each.
It worked similar to gapps, where files are separated by commas.
Any ideas?
I will be adding sound files to system/media/audio/alarm.
What are symlinks?
Sent from my MB525 using Tapatalk 2
hermeticist said:
Before CWM 5, I used to have a script that would let me add lots of files without individual lines for each.
It worked similar to gapps, where files are separated by commas.
Any ideas?
I will be adding sound files to system/media/audio/alarm.
Click to expand...
Click to collapse
U can easily write the package_extract command:
Code:
package_extract_dir("???", "/???");
You write the folder, and then the android folder when you want to extract the script package.
Then you set the permission of the folder and all is done!
pjgowtham said:
What are symlinks?
Sent from my MB525 using Tapatalk 2
Click to expand...
Click to collapse
Symlinks are Simbolic Links, so they link a folder to another folder, for example, a linked folder...
In Windows, you can create a link on the desktop and you can change the name of the linked icon, but it is anyway connect to the same file, with different name.
So, the symlinks are files that connect with other files. When the os see this symlinks, it read the element info to which it is connected??
It's not difficult to understand. I suggest to you to read this: SymLinks
Hope i've helped u all! If it doesnt, ask me again!
mackief said:
U can easily write the package_extract command:
Code:
package_extract_dir("???", "/???");
You write the folder, and then the android folder when you want to extract the script package.
Then you set the permission of the folder and all is done!
Click to expand...
Click to collapse
Thanks.
I'm a little unclear about setting permissions though. Would you mind explaining?
Thanks i understood
Sent from my MB525 using Tapatalk 2
hermeticist said:
Thanks.
I'm a little unclear about setting permissions though. Would you mind explaining?
Click to expand...
Click to collapse
So, if u want to set folder permissions, this is the code:
Code:
set_perm_recursive(1000, 1000, 0777, 0777, "/data/data/PACKAGE_DATA_FOLDER");
And these permissions are for a 'read-only' folder.
If u want to set file permissions, this is the code:
Code:
set_perm(1000, 1000, 0644, "/data/app/[PACKAGE].apk");
Also these permissions are for a 'read-only' file.
So do u need something else??
Hope u understood!
OK, here's one I can't seem to figure out, I want to copy data/app to my SD card. I tried(with /data mounted):
run_program("/sbin/busybox", "mkdir", "/sdcard/app/");
run_program("/sbin/busybox", "cp", "r", "/data/app/", "/sdcard/app/");
it fails with status 6, and log shows syntax error. I'm at a loss.
You're telling it to copy a file named "r". Change it to "-r".
I tried that already, I actually changed it to that, I played with my code a few times before posting.
Here is the last version I tried: http://db.tt/10DQzTQM
Sent from my LG-P999 using xda premium
nice tuto thank you very much for it
please i am noobe here
i have a unpadte to make but i don't know how here the structure of it
how to do the script please

[REQ] CWM Flashable templates for Framework-res.apk and SystemUI.apk

I have been experiencing alot difficulties while pushing Framework-res.apk and SystemUI.apk in my Stock deodexed rom as well as Custom Roms. It always end up in a bootloop.
Can somebody make updater-script for both files separately and make a flashable zip for them, so that whenever I have to flash these 2 files, I just replace them in those zips and I'm ready to go?
I tried learning editing Updater-script, but I always ended up in some errors.
Please Help.
I would really appreciate it, I know its just a 10 minutes work for some people here. :fingers-crossed:
Please Help me
Code:
run_program("/sbin/busybox", "mount", "/system");
package_extract_dir("app", "/system/app");
run_program("/sbin/busybox", "umount", "/system");
systemui above
framework-res below
Code:
run_program("/sbin/busybox", "mount", "/system");
package_extract_dir("framework", "/system/framework");
run_program("/sbin/busybox", "umount", "/system");
not 10mins,
less than a minute
Hey thank you!
Thank u for these codes,
What about Update-binary in META-INF folder? Is it same for every flashable zip? Can I use these codes on both Stock and custom roms?
varun90rulz said:
Thank u for these codes,
What about Update-binary in META-INF folder? Is it same for every flashable zip? Can I use these codes on both Stock and custom roms?
Click to expand...
Click to collapse
open updater-script with notepad and paste these codes,
the update-binary is universal so yea
deathnotice01 said:
open updater-script with notepad and paste these codes,
the update-binary is universal so yea
Click to expand...
Click to collapse
Thanks! I'll just check this and will ask if anything goes wrong! Thanks a lot. :good:
deathnotice01 said:
open updater-script with notepad and paste these codes,
the update-binary is universal so yea
Click to expand...
Click to collapse
i thought editing it in normal notepad will cause problems
status 0?
status 6?
status 7 or something?
74M3NUMB3RS said:
i thought editing it in normal notepad will cause problems
status 0?
status 6?
status 7 or something?
Click to expand...
Click to collapse
works fine with me
I have heard that too
74M3NUMB3RS said:
i thought editing it in normal notepad will cause problems
status 0?
status 6?
status 7 or something?
Click to expand...
Click to collapse
I read somewhere opening in Notepad causes trouble, I use Notepad++ for this purpose.
I have a one question:
what using this code "/sbin/busybox"
varun90rulz said:
I read somewhere opening in Notepad causes trouble, I use Notepad++ for this purpose.
Click to expand...
Click to collapse
Note pad ++ updated would be more appropriate to use.
varun90rulz said:
I have been experiencing alot difficulties while pushing Framework-res.apk and SystemUI.apk in my Stock deodexed rom as well as Custom Roms. It always end up in a bootloop.
Can somebody make updater-script for both files separately and make a flashable zip for them, so that whenever I have to flash these 2 files, I just replace them in those zips and I'm ready to go?
I tried learning editing Updater-script, but I always ended up in some errors.
Please Help.
I would really appreciate it, I know its just a 10 minutes work for some people here. :fingers-crossed:
Please Help me
Click to expand...
Click to collapse
Follow these steps :
1. If you have a custom rom then get its updater-script,open it with notepad++
2. Find & copy this line mount("ext4", "EMMC", "/dev/block/@@@@@", "/system");
Note: @@@@@ will be something different for your device
3.FINAL STEPS MAKE YOUR UPDATER-SCRIPT:
Write these lines
mount("ext4", "EMMC", "/dev/block/@@@@@", "/system");
delete("/system/app/framework-res.apk");
package_extract_dir("system", "/system");
set_perm_recursive(0, 0, 0755, 0644, "/system/framework");
unmount("/system");
That's it & u r done.
Press the Thanks button if i helped you :good:
& Lemme know for any queries

need help setting permissions

Hello guys
I need help setting permissions for the /system/app folder
I replaced some deodexed approx to the /system/app folder and I need to set the permisions
I thought I just add this to the update script
set_perm_recursive(0, 0, 0755, 0644, "/system/app");
But if I do then I get a android man with a x inside his belly and havens reflash the stock Rom I tested the zip without this line and it works fine but some apps force close as the permissions and ownership is wrong.
What am I doing wrong?
Using a LG L5 II if that makes a difference

Categories

Resources