yashsingh1/xdaforums huggingface dataset:
[Android Software/Hacking General [Developers Only]] mjhay19:
Thanks man!
[Android Software/Hacking General [Developers Only]] DaveConnor:
hello,i am having a issue with my installer,it shows syntax error,i saw the first post but could not find anything!Please look into the script(btw this my first aroma script and updater script so there may be some very big errors!)

FILE POSTED IN LATER POSTS!
[Android Software/Hacking General [Developers Only]] Patrics83:
If you upload the aroma-config and the updater-script together with a description of the errors etc. it will be much easier to find the problem.

Sent from my HTC One X
[Android Software/Hacking General [Developers Only]] DaveConnor:
Well it shows syntax error and i have uploaded both the scripts....Thank you for your help.
[Android Software/Hacking General [Developers Only]] Patrics83:
What I mean is that you should upload the files instead.

And when you get syntax error you will also know at what line you have the error.

So what I'm saying is that you aren't providing that much info about the problem, just that you have a problem with the installer. :)

And the files it self will tell if you have the correct format and text code etc.

Also good thing to do when you have errors like this.

adb pull /tmp/recovery.log

Edit:

checkbox(
....
"Apex Launcher Pro v1.3.1",	"Apex Launcher Pro v1.3.1",1[COLOR="Red"],[/COLOR] remove the last comma
);

ui_print ("TweakZV6");
package_extract_dir("/Mods/TweakZV6/META-INF", "/META-INF");
package_extract_dir("/Mods/TweakZV6/system[COLOR="Red"],[/COLOR]", "/system");

I don't think you have can have white space in path names, but I'm unsure about it.

ui_print("-->Apex Launcher Pro v1.3.1");
package_extract_dir("apks/Apex Launcher Pro v1.3.1", "/system/app");
[Android Software/Hacking General [Developers Only]] DaveConnor:
Absolutely will do,but i don't have the device right now,anyways here are the files,they are fairly short so checking for errors should not be hard!Also remove the .txt extension as i could not upload them in an another way!

View attachment updater-script.txt

View attachment aroma-config.txt

HAD TO POST NEW FILES,PLZ TAKE A LOOK INTO THEM!
[Android Software/Hacking General [Developers Only]] DaveConnor:
Do i have to remove the commas for every "checkbox" line?
[Android Software/Hacking General [Developers Only]] Patrics83:
Just the last "," marked in RED

It should look like this:

checkbox(
....
"Apex Launcher Pro v1.3.1",	"Apex Launcher Pro v1.3.1",1
[Android Software/Hacking General [Developers Only]] DaveConnor:
Hi, i am getting error at line 378 col1 and 379 col2 of aroma config......I took a look at them but they seemed fine....Do i have to add a comma to line 378,Like this-

"TweakZV6", "TweakZV6",0[COLOR="Red"],[/COLOR]
[Android Software/Hacking General [Developers Only]] Dblfstr:
Here is one:

checkbox(
"Applications",
"What applications would you like to add?:",
"icons/personalize",
"applications.prop",

"Nova Launcher 1.1.2",	"Nova Launcher 1.1.2",0,
);

Remove the last comma after the zero. The parenthesis closes the function so there is no need for a comma. Adding the comma is indicating that you have another argument coming, but that it is blank, thus the error.

"Nova Launcher 1.1.2",	"Nova Launcher 1.1.2",0
);

______________________

And no, you need to remove this last comma too!

);
checkbox(
"Mods",
"What mods would you like to add?:",
"icons/personalize",
"modifications.prop",

"AC!D Audio Engine",	"AC!D Audio Engine",0,
"Adrenaline Boost V3",	"Adrenaline Boost V3",1,
"SlaidyBoost V2.3",	"SlaidyBoost V2.3",0,
"TweakZV6", "TweakZV6",0,
);

Like so:

"TweakZV6", "TweakZV6",0
);
[Android Software/Hacking General [Developers Only]] Robobob1221:
Is it possible to change the animation/image for the progress bar when the installation is taking place?

I'll make a note of that
[Android Software/Hacking General [Developers Only]] 2GigayteSD:
I have this question too...
[Android Software/Hacking General [Developers Only]] DaveConnor:
Hey i have checked for errors and removed the errors but when AROMA boots and we select all packages,mods etc... it installs and then boots up.....but nothing is installed....Plz help and thanks in advance!

View attachment updater-script.txt

View attachment aroma-config.txt

and do remove the .txt extensions.....
[Android Software/Hacking General [Developers Only]] sniper:
You need to mount /system before you start extracting things to it.

Click here for custom mods for your E4GT
[Android Software/Hacking General [Developers Only]] Dblfstr:
In this case you are missing a comma.

#-------------------------+-----------------[ Menubox Items ]-------------------------+---------------#
# TITLE | SUBTITLE | Item Icons #
#-------------------------+-----------------------------------------------------------+---------------#

"HeroC", "If you have a Hero CDMA Phone", "@apps", #-- selected = 1
"Hero", "If you have a Hero GSM Phone", "@apps", #-- selected = 2
"Eris", "If you have an Eris CDMA Phone", "@apps" #-- selected = 3
"Magic", "If you have a Magic GSM Phone", "@apps" #-- selected = 4

);

"Eris", "If you have an Eris CDMA Phone", "@apps" , #-- selected = 3
[Android Software/Hacking General [Developers Only]] DaveConnor:
Like this????

format("ext4", "EMMC", "/dev/block/mmcblk0p3");
mount("ext4", "EMMC", "/dev/block/mmcblk0p3", "/system");
mount("ext4", "EMMC", "/dev/block/mmcblk0p3", "/META-INF");
if
file_getprop("/tmp/aroma-data/modifications.prop","item.0.1") == "1"
then
ui_print ("AC!D Audio Engine");
package_extract_dir("/Mods/AC!D Audio Engine v5.0/META-INF", "/META-INF");
package_extract_dir("/Mods/AC!D Audio Engine v5.0/system,", "/system");
package_extract_file("/Mods/AC!D Audio Engine v5.0/universal.sh", "/tmp/universal.sh");
set_perm(0, 0, 0755, "/tmp/universal.sh");
run_program("/tmp/universal.sh");
delete("/tmp/universal.sh");
endif;
if
file_getprop("/tmp/aroma-data/modifications.prop","item.0.2") == "1"
then
ui_print ("Adrenaline Boost V3");
package_extract_dir("/Mods/Adrenaline Boost V3/META-INF", "/META-INF");
package_extract_dir("/Mods/Adrenaline Boost V3/system,", "/system");
endif;
if file_getprop("/tmp/aroma-data/modifications.prop","item.0.3") == "1"
then
ui_print ("SlaidyBoost V2.3");
package_extract_dir("/Mods/SlaidyBoost V2.3/META-INF", "/META-INF");
package_extract_dir("/Mods/SlaidyBoost V2.3/system,", "/system");
endif;
if file_getprop("/tmp/aroma-data/modifications.prop","item.0.4") == "1"
then
ui_print ("TweakZV6");
package_extract_dir("/Mods/TweakZV6/META-INF", "/META-INF");
package_extract_dir("/Mods/TweakZV6/system,", "/system");
endif;
unmount("/system");
unmount("/META-INF");
show_progress(0.2);
[Android Software/Hacking General [Developers Only]] 2GigayteSD:
Actually like this:

if
file_getprop("/tmp/aroma-data/modifications.prop","item.0.1") == "1"
then
ui_print ("AC!D Audio Engine");
[B]mount("ext4", "EMMC", "/dev/block/mmcblk0p3", "/system");[/B]
package_extract_dir("/Mods/AC!D Audio Engine v5.0/META-INF", "/META-INF");
package_extract_dir("/Mods/AC!D Audio Engine v5.0/system,", "/system");
package_extract_file("/Mods/AC!D Audio Engine v5.0/universal.sh", "/tmp/universal.sh");
set_perm(0, 0, 0755, "/tmp/universal.sh");
run_program("/tmp/universal.sh");
delete("/tmp/universal.sh");
endif;
if
file_getprop("/tmp/aroma-data/modifications.prop","item.0.2") == "1"
then
ui_print ("Adrenaline Boost V3");
[B]mount("ext4", "EMMC", "/dev/block/mmcblk0p3", "/system");[/B]
package_extract_dir("/Mods/Adrenaline Boost V3/META-INF", "/META-INF");
package_extract_dir("/Mods/Adrenaline Boost V3/system,", "/system");
endif;
if file_getprop("/tmp/aroma-data/modifications.prop","item.0.3") == "1"
then
ui_print ("SlaidyBoost V2.3");
[B]mount("ext4", "EMMC", "/dev/block/mmcblk0p3", "/system");[/B]
package_extract_dir("/Mods/SlaidyBoost V2.3/META-INF", "/META-INF");
package_extract_dir("/Mods/SlaidyBoost V2.3/system,", "/system");
endif;
if file_getprop("/tmp/aroma-data/modifications.prop","item.0.4") == "1"
then
ui_print ("TweakZV6");
[B]mount("ext4", "EMMC", "/dev/block/mmcblk0p3", "/system");[/B]
package_extract_dir("/Mods/TweakZV6/META-INF", "/META-INF");
package_extract_dir("/Mods/TweakZV6/system,", "/system");
endif;
show_progress(0.2);
[Android Software/Hacking General [Developers Only]] 2GigayteSD:
Remove

#---- FINISH

at the very end.
[Android Software/Hacking General [Developers Only]] DaveConnor:
I did this but after installation the device boots and nothing is installed,,,plz help!
[Android Software/Hacking General [Developers Only]] 2GigayteSD:
did you make sure you have the files in the folder specified in the script?
[Android Software/Hacking General [Developers Only]] DaveConnor:
yes,,i made it sure!

---------- Post added at 12:29 PM ---------- Previous post was at 12:22 PM ----------

Can we spaces like this---

if
file_getprop("/tmp/aroma-data/modifications.prop","item.0.1") == "1"
then
ui_print ("AC!D Audio Engine");
mount("ext4", "EMMC", "/dev/block/mmcblk0p3", "/system");
package_extract_dir("/Mods/[B]AC!D Audio Engine v5.0[/B]/META-INF", "/META-INF");
package_extract_dir("/Mods/[B]AC!D Audio Engine v5.0[/B]/system,", "/system");
package_extract_file("/Mods/[B]AC!D Audio Engine v5.0[/B]/universal.sh", "/tmp/universal.sh");
set_perm(0, 0, 0755, "/tmp/universal.sh");
run_program("/tmp/universal.sh");
delete("/tmp/universal.sh");
[Android Software/Hacking General [Developers Only]] 2GigayteSD:
I just noticed, why are you extracting to /META-INF???

package_extract_dir("/Mods/AC!D Audio Engine v5.0/META-INF", "/META-INF");
[Android Software/Hacking General [Developers Only]] DaveConnor:
Bcoz the mod has files which will replace META-INF,is something wrong in that?
[Android Software/Hacking General [Developers Only]] 2GigayteSD:
Yes, there is. There is no META-INF folder in Android... What phone do you have?
[Android Software/Hacking General [Developers Only]] DaveConnor:
Micromax A110.......The mods i want to add (ACID ENGINE,BRAVIA ENGINE) all of them have meta-inf folders,what should i do?
[Android Software/Hacking General [Developers Only]] Ganesh A:
Why do i get status0 error

And also status6
[Android Software/Hacking General [Developers Only]] DAGr8:
ok ,, believe me guys I tried .. but its not working .. :

FUNCTION ERROR!!! aroma-config: checkbox() expects 4 args + 3 args per items, got 27

FIXED was a stupid error like usual

thx to all those who tried :P
[Android Software/Hacking General [Developers Only]] HackitZ:
Check your updater-script. was it working before you tried to use aroma? or is aroma all you have used?

for help you might want to share what device you have and how you made your updater-script.
[Android Software/Hacking General [Developers Only]] amarullz:
You should be able to do that, but the prop key should contained string value, example:

test.prop

key1=This is my words

In updater-script

ui_print(file_getprop("/tmp/aroma/test.prop","key1"));

You can create the prop file in aroma-config..
[Android Software/Hacking General [Developers Only]] Phil3759:
Great thread, as the other was dead

I have 3 questions about edify script

Question 1

I use a script to install root through CWM 5 on my i9100

I never used the symlink command for "su" in /system/bin and /xbin

I never used symlink for busybox in bin and xbin

However, all works perfect for my root apps which require busybox

Is this symlink command really important and for what (in busybox and su)

Question 2

I install busybox using this command

run_program("/system/xbin/busybox", "--install", "-s", "/system/xbin");

I do not symlink (cf question 1)

To

uninstall

, is this script fine or it will leave many orphan links / symlinks?

run_program("/sbin/mount", "/dev/block/mmcblk0p9", "/system");

delete("/system/bin/busybox");
delete("/system/xbin/busybox");

run_program("/sbin/umount", "/system");

Question 3

What happens in my Question 2 script if I skip the last "unmount" part and reboot. The system partition will be unmounted nevertheless on reboot?

By the way, I use this on an i9100
[Android Software/Hacking General [Developers Only]] abo_mara7:
Thanks. Yes, it was some missed "endif s".
[Android Software/Hacking General [Developers Only]] 2ndIdentity:
Oh... got it working. :)

Forgot to check the case. Knew it was case sensitive.

So, it's safe to say that it's okay to put a function within another.

Thousand thanks from me for the fast reply.
[Android Software/Hacking General [Developers Only]] amarullz:
Yes.. In aroma-config and updater-script. In aroma-config, you can save the return value in variable, but in updater-script you can't...
[Android Software/Hacking General [Developers Only]] 2ndIdentity:
Yup. used setvar and getvar, updater-script doesn't recognize them. However it's enough for me with the current functions. :)
[Android Software/Hacking General [Developers Only]] abo_mara7:
if prop("cammode-start.prop","selected")!="1" then
writetmpfile( "cammode-clean.prop",	"selected.1=0\n" );

else
#-- Show Back Menu
menubox(
#-- Title
"",

#-- Sub Title
"",

#-- Icon
"@alert",

#-- Will be saved in /tmp/aroma/dialog_demo.prop
"cammode-clean.prop",

#-------------------------+-----------------[ Menubox Items ]-------------------------+---------------#
# TITLE | SUBTITLE | Item Icons #
#-------------------------+-----------------------------------------------------------+---------------#

"Uninstall button mapping", "", "@info", #-- selected = 1
"Uninstall everything", "", "@info" #-- selected = 2
);

#-- Uninstall button mapping

if prop("cammode-clean.prop","selected.1")=="1" then
#-- Confirm Demo 1
if
confirm(
#-- Title
"Stock mapping",
#-- Text
"Are you sure that you want to return to stock button mapping?",
#-- Icon (Optional)
"@info"
)=="yes"
then
alert("Result","Done...");
else
alert("Result","Cancelled...");
endif;
endif;

#-- Uninstall mapping
if prop("cammode-clean.prop","selected.1")=="2" then
#-- Confirm Demo 1
if
confirm(
#-- Title
"Stock mapping",
#-- Text
"Are you sure that you want to return to remove camera mod?",
#-- Icon (Optional)
"@info"
)=="yes"
then
alert("Result","Done...");
else
alert("Result","Cancelled...");
endif;
endif;

endif;

The above is part of my aroma-config, and this is my update-script:

# Uninstall button mapping only
if
file_getprop("/tmp/aroma-data/cammode-clean.prop","selected.1") == "1"
then
ui_print(">>> Uninstalling mapping");
package_extract_dir("cameraMod/stock-mapping/system/usr/keylayout", "/system/usr/keylayout");
endif;

# Uninstall everything
if
file_getprop("/tmp/aroma-data/cammode-clean.prop","selected.1") == "2"
then
ui_print(">>> Unistalling everything");
package_extract_dir("cameraMod/stock-everyting/system", "/system");
endif;

What is wrong in the code? When I do it the aroma installer nothing installs!
[Android Software/Hacking General [Developers Only]] 2ndIdentity:
There is no install ( ); function there? I may be wrong.
[Android Software/Hacking General [Developers Only]] abo_mara7:
I didn't read about this function even in the mod thread?!
[Android Software/Hacking General [Developers Only]] hell_lock:
I am a noob in scripting stuff. I know little bit of edify and can understand it, but aroma confuses me. Can anyone give me a demo?? A simple one please? Rest I can understand
[Android Software/Hacking General [Developers Only]] Волк:
As for symlinking for su, don't know. As for busybox, the purpose is so that you don't have to call commands/applets directly via busybox, ie, you can call teh "dd" command, if symlinked by simply going run_program("sbin/cp", "blah", "blah");

versus run_program("/sbin/busybox", "cp", "blah", "blah");

As far as I know, yes it would get unmounted, but I've never bothered to check, and the main concern is if you were running a script which would cause it to be mounted as r/w while booted into android, which I believe you would have to run while booted into android anyhow.
[Android Software/Hacking General [Developers Only]] Phil3759:
Thank you for your answer
[Android Software/Hacking General [Developers Only]] amarullz:
You can download the aroma installer in the main thread, then extract it... The aroma-config in that zip was the good example for you to learn.

There is completed comments in the script for any command...
[Android Software/Hacking General [Developers Only]] hell_lock:
Thanks. I will see it.
[Android Software/Hacking General [Developers Only]] Волк:
That may be true, but there's a ton of stuff to Wade through and if you want to find out what things like "@" mean you're screwed unless you're already familiar because Google won't let you search for symbols.

If someone wants to make, for example, an aroma which can format system, data, and cache with the option to choose, as you go, whether or not the user wants to format that particular partition. It's simple in what it does and would provide a simpler starting point than the one already provided.
[Android Software/Hacking General [Developers Only]] Dblfstr:
Perhaps you need to mount system before you try to extract your files. It could be that the installer cannot write to the system directory. I may be wrong.

run_program("/sbin/busybox", "mount", "/system");
Do stuff
run_program("/sbin/busybox", "umount", "/system");
[Android Software/Hacking General [Developers Only]] savie:
Hii..

What code (aroma-config) to read and show file in device eg.

read("/proc/version");

I've try to read kernel version in system information in installer.

Thanks b4..
[Android Software/Hacking General [Developers Only]] Dblfstr:
The build.prop should show the kernal version. But you could always check the file location of the kernal.
[Android Software/Hacking General [Developers Only]] savie:
In my device information about kernel is in /proc/version so what is code (aroma-script) to read and show that file in system information aroma installer features ??
[Android Software/Hacking General [Developers Only]] Dblfstr:
Sorry, I misunderstood your question.

Descriptions:

Read string from file in filesysten

Sintax:

content_of_file read(filename);

Parameters:

filename - Absolute path to Destination file that will be readed

Return Value: Content of file in String

Examples:

# It will read data from /sdcard/test.txt
# then save it in variable
setvar(
"testvar",
read("/sdcard/test.txt")
);
[Android Software/Hacking General [Developers Only]] 2GigayteSD:
Status 0 is bad update-binary

Status 6 is bad formatting when you make/edit the updater-script with windows
[Android Software/Hacking General [Developers Only]] HackitZ:
Ok I have been searching and found this post about aroma and maybe someone here knows.

Can we have an option for locked bootloaders and if so have cwm installed during rom install?

It would save a lot of mistakes from users forgetting to un select reboot and reinstalling cwm. this might only be an issue on xperia devices but a hassle none the less. (if you forget to reinstall cwm on a locked bootloader after a rom install, you have to start all over with flashtool to re root and cwm back).:eek:

Thanks
[Android Software/Hacking General [Developers Only]] sniper:
I don't have a device with any problems like that, but how is the cwm reinstall implemented and it might be able to be an option for your rom.

Click here for custom mods for your E4GT
[Android Software/Hacking General [Developers Only]] HackitZ:
Well the xperia line up from sony has this issue. as long as your bootloader is locked. so with a locked bootloader after you flash a rom you need a cwm flashable version of cwm to flash before you reboot your device. if you dont reflash cwm after a new rom install (new rom means wipe data from cwm) and rstart you no longer have cwm and have to down grade your rom to a stock rom that can be rooted and so you can install cwm.

whew thats a mouth full.

So if using aroma i'm wondering if you can add the option to install the flashable version of cwm from inside the aroma installer.

for an example: have a screen that asks if you have a lock bootloader with the option to select yes and install cwm installer.

Hope i made sense:confused:
[Android Software/Hacking General [Developers Only]] sniper:
Is that cwm installer just a zip? Link?

Click here for custom mods for your E4GT
[Android Software/Hacking General [Developers Only]] HackitZ:
yeah we have both we start with an install bat file for inicaill install and a cwm flashable version for rom jumping. l0l

link
[Android Software/Hacking General [Developers Only]] sniper:
That would be an easy thing to add. I'm not sure which one you'd want to flash with the rom, but you could make an option and then have it extract the package and set permissions since that's all the zips did.

mount("ext4", "EMMC", "/dev/block/mmcblk0p12", "/system");

package_extract_dir("system", "/system");

Click here for custom mods for your E4GT
[Android Software/Hacking General [Developers Only]] HackitZ:
Thanks sniper, once i figure out my bootloop issue caused by the kernel i'll get this in my rom and see if i can get it working.
[Android Software/Hacking General [Developers Only]] Robobob1221:
There was a post previously about getting splash images to show up after making a selection, but they only show up after pressing next. Is there a way, if you're using select box for example, for the splash image to pop up when you press the selection, saving the user to have to go back to change the selection?

Thanks in advance for any tips?

I'll make a note of that
[Android Software/Hacking General [Developers Only]] 2GigayteSD:
Does ANYONE have a solution to this?

When installing apps from a checkbox menu, the apps don't get installed :confused:
[Android Software/Hacking General [Developers Only]] sniper:
Make sure the partition is mounted before extracting and in your updater script towards the end to make sure of permissions you could use set_perm to make all the apps in the folder 644.

Click here for custom mods for your E4GT
[Android Software/Hacking General [Developers Only]] 2GigayteSD:
I have manually mounted and I have the commands to mount in my updater-script... Nothing works...
[Android Software/Hacking General [Developers Only]] sniper:
Have you checked with a file explorer to see if the files are there after flashing? Have you posted your updater script?

Click here for custom mods for your E4GT
[Android Software/Hacking General [Developers Only]] 2GigayteSD:
Yes, I checked with Root File Browser and ADB. I don't think I have posted it.

I will post that and my aroma script in a minute...
[Android Software/Hacking General [Developers Only]] 2GigayteSD:
Here are my files
[Android Software/Hacking General [Developers Only]] DaveConnor:
I am having the same problem 2GIGABYTESD is having,i have mounted the partitions i want to extract to but nothing is installed,,plz help!

View attachment aroma-config.txt

View attachment updater-script.txt
[Android Software/Hacking General [Developers Only]] BabuMoshaaye:
We both are working on a custom ROM. After AROMA installer launches, after choosing the mods, they install and reboot but nothing happens later and we are booted into the previous ROM. Please help!
[Android Software/Hacking General [Developers Only]] gyrene2083:
In need of help with status (0)

Hello all,

I am new to this scripting world and just when I think I have it, it gets a little further out of reach and laughs at me. :rolleyes:

This is what I have done so far. I decompiled a working ROM and took the update-binary and renamed it update-binary-installer, like the OP says in the Aroma thread.

I made the aroma-config file and the updater-script.

When I bake everything and flash it, I get past the aroma-config, and when it comes to the updater-script. It runs through everything so quickly and says it's done. I have attached my aroma-config file, my updater-script, and the log file I saved from the flash.

I hope that is all I need to provide for someone to help me. If I am missing something else, please let me know. Thank you all for your patience.

*EDIT

Solved

(all three files are zipped into android.zip)

Nope not solved still status 0.........
[Android Software/Hacking General [Developers Only]] 2GigayteSD:
Anyone?
[Android Software/Hacking General [Developers Only]] Robobob1221:
Could someone tell me what a parse 1 error in the updater installer means?

Sent from my SC-02E using Xparent ICS Tapatalk 2