My cat is a fan of Greenies. They don't work...
would aroma fail to run on a device that doesn't have a cache partition? like newest A/B devices like OP6 and HTC U12+ is there any work around?
Nope. Works 100% fine on Mi A1.
Send a recovery.log (get it via adb shell if needed) to us.
Chances are it's incompatible though, and there isn't much you can do if that's the case since Aroma is abandoned and the current source was never released![]()
let me explain a little bit deeper of what is exactly happening for my device HTC U12+, once I select the zip in TWRP the zip looks like it is going to start but the interface just freezes without even showing the usually aroma zips splash, then I noticed I could press the buttons and get feedback from them so it is not completely frozen I said then I started to press random combinations of buttons and the aroma installer finalized without issues, so the problem is I do not get any graphics from the aroma installer but it is actually running in the background, i'll attach some logs but I think they are useless no to much information in them. thanks for your time & reply
PD. I guess the same exact thing is happening in OP6 , I can't confirm because I do not own the device, but the similarities between HTC U12+ & OP6 are that both are SD845 and both are Official Treble A/B devices I look around for other Official Treble A/B devices with SD845 but I couldn't find any flashable zip that contains aroma installer on them to test
The problem is that your device/TWRP is using DRM graphics (hardware accelerated) instead of framebuffer (traditional SW rendering). Aroma doesn't understand how to use your graphics "driver".
Unless you can get a build of TWRP (and kernel) with classic framebuffer rendering, it can't be fixed. Not sure how likely or even possible that is.
Just like normal update-binary, you have to replace update-binary-installer with your own one.anykernel has an empty updater-script and the uodater-binary is not linux compiled as before and has code in it.So, how to add them in aroma installer?
Auto translate(probably not the correct translation by Google):-
Why don't you take it again sir, this is a great work
4. Use the English language.
We understand that with all the different nationalities, not everyone speaks English well, but please try. If you're really unable to post in English, use an online translator. You're free to include your original message in your own language, below the English translation. (This rule covers your posts, profile entries and signature). You could try :- https://translate.google.com/ or https://www.babelfish.com/ or use one of your choice.
[LEFT]
* [B]CEMPAKA- 1.63 - BUILD 120306-032[/B]
* Add support for atmel_maxtouch (Down Event SYN) - Asus Transformer Prime Touch Screen
* [B]CEMPAKA- 1.62 - BUILD 120303-030[/B]
* Fix some memory leaks ([COLOR="Red"]Important[/COLOR]).
* Add ini_set("[COLOR="Green"]force_colorspace[/COLOR]","rgba");
* [B]CEMPAKA- 1.60 - BUILD 120227-026[/B]
* Add msb_right check for Endianess video memory
* Fix Installer text log drawing
* Add ini_get
* Add rom_date in ini_get
* Fix reboot and back function
* Add more and recreate Icons for themes and generic
* Rewrite text handler
* Add alignment, indentation and list in AROMA Markup String
* Change temp directory to /tmp/aroma, /tmp/aroma-data stil works
* Add Theme Support
* Add AROMA Markup for <b> Bold
* Add More Colorset
* Add More Text to Customize
* Add PNG Icon Load From Theme (Default Icons)
* Add Tab support in AROMA Markup String
* Change int to long for partition info, now support big storage information
* Config Init All/Theme Only
* Recreate new example (release) for binary release
* Customizable Font Runtime
* Reformat About Dialog
* Add show progress per time in installer (now support by files and by time).
* Themeable Progressbar
* Enhance Exec Functions to return exit status and autosave buffer into variable
* Fix glibc error in ag_close - Need workaround
* Move ai_trim to system libs
* Add Stretch function for png
* Add 9 Patch drawing function for png
* Fix Reboot Function
* Add Alternative Touch Method
* Add ziptotmp & restotmp
* Add support for mxt224 touch screen (SYN_MT_REPORT event)
* [B]BOUGENVILLE - 1.10 - BUILD 120208-13[/B]
* Add Alternative Touch Method
* Added New Functions
- anisplash - ANIMATED SPLASH SCREEN
- prop - GET PROP FROM AROMA TMP
- zipprop - GET PROP FROM ZIP
- resprop - GET PROP FROM AROMA RESOURCE ZIP
- sysprop - GET RECOVERY PROP
- property_get - GET RECOVERY PROP
- write - WRITE STRING INTO FILESYSTEM
- readtmpfile - READ TEMPORARY FILE AS STRINF
- read - READ FILESYSTEM AS STRING
- zipread - Read String From Zip
- resread - Read Strinf From Resource
- zipexec - Exec Program From Zip
- resexec - Exec Program From Resource
- run_program - Run Program/Exec
- exec - Run Prohram/Exec
- back - BACK TO PREVIOUS WIZARD
- reboot - REBOOT DEVICE
* Deprecated Funcrions
- readfile - Will Renamed to zipread
- readfile_aroma - Will Renamed to resread
* Add Some Fix in Touch Up Handler
* Prop parsing, File Handling & Zip Handling has been managed in efficient functions
* Remove CERT.SA - Not Needed
* Add Licence Headers in all aroma source code Apache 2.0
* Add More Comments & Documentation in Souce Code
* Renamed functions for fit needs
* [B]ANGGREK -1.00 - BUILD:120204-011[/B]
* Fix calibrating function not working when set in aroma-config
* Update and fix firmware command from update-binary-installer into recovery.
* [B]ANGGREK -1.00 - BUILD:120202-10[/B]
* Improve touch handler compatibility. Now more accurate in every devices
* Add more chars into ROM Infos from only 31 to 63max
* Detail changelog from commit: [URL="https://github.com/amarullz/AROMA-Installer/commit/f49e2969e3b3514e180dcb15bed5a48298b19046"]10[/URL]
* [B]ANGGREK -1.00 - BUILD:120201-009[/B]
* Stride/Pitch/Padding Framebuffer support for non multiply 8 screen size like qhd on sensation and evo3d
* Rewrite input handler, better keys & touch screen compatibility.
* Change calibration division data from integer to float, more accurate calibrating
* Improve fling and scrolling engine
* Add support for all possible screen bit depth 32/24/16bit. ARGB, ABGR, RGBA, BGRA. No problem now.
* Detail changelog from commit: [URL="https://github.com/amarullz/AROMA-Installer/commit/b9daae9151e6ec4e1054725722b6f507f621f065"]006[/URL], [URL="https://github.com/amarullz/AROMA-Installer/commit/65fdbb9a2f7c12a799f320b3759ab60d6b00d3b1"]007[/URL], [URL="https://github.com/amarullz/AROMA-Installer/commit/f49e2969e3b3514e180dcb15bed5a48298b19046"]009[/URL]
[B]ANGGREK -1.00 - BUILD:120129-005[/B]
* Remove Signature Check - Now You don't need to sign aroma-config and updater-script
* Calibration Tool now show before anything, so you can directly do calibration. you can disabled it in aroma-config by deleting [B]calibtool("");[/B] command.
* Fix some touch screen input handler
* Add 229 in menu keycode (F2 used in emulator as menu key)
[B]ANGGREK -1.00 - BUILD:120128-004[/B]
* Open Source - Binary No Released
[B]ANGGREK -1.00 - BUILD:120126-003[/B]
* Refer to defy recovery source code found [URL="https://github.com/CyanogenDefy/android_device_motorola_jordan/blob/gingerbread/recovery_ui.c"]HERE[/URL] (Thanks [URL="http://forum.xda-developers.com/showthread.php?t=1356767"]walter79[/URL] for github source code) I add some keycode into input reader : [URL="http://forum.xda-developers.com/showpost.php?p=21826756&postcount=32"]Read Here[/URL]
* Add confirmation if calibrated data will be used in current process (After Calibrating) - So you can try touchscreen without editing [COLOR="Green"]aroma-config[/COLOR] after you calibrate it.
* Remove precision calculation in scrolling thread (Natural calculation but less fluid)... Feel faster now.
* Add function for [COLOR="Green"]aroma-config[/COLOR] to define custom key code for up/down/select/back/menu, just like [COLOR="Green"]calibrate()[/COLOR] function. with format like this: [COLOR="DarkRed"]ini_set("customkeycode_up",130);[/COLOR] or [COLOR="DarkRed"]ini_set("customkeycode_select",13);[/COLOR], the keycode can be capture by [URL="http://forum.xda-developers.com/attachment.php?attachmentid=872892&d=1327550395"]aroma-keycapture-flashable.zip[/URL]
[B]ANGGREK -1.00 - BUILD:120125-002[/B]
* Add Home & Power Button To Select Items
* Unsigned Script Now Not Terminated Installer, but just show Alert That the script should be signed to pass install ui
* Add More Documentation in aroma-config
[B]ANGGREK -1.00 - BUILD:120124-001[/B]
* Initial Release ( AROMA UI, AROMA Touch Handler, AROMA Markup String )
* Customizable ( Custom Theme Colors, Customizable Fonts and Images )
* Optimized Build ( Static, -o2, remove unused functions, remove png-write and zlib deflate functions )
[/LEFT]
Prev Item/Up Key = 120
Next Item/Up Key = 110
Select Item/Enter/Select Key = 13
Back Key = 200
Menu Key = 193
##
# Custom Key Code - Usefull For Some Device which not used
# Standard key code for up/down/select/back/menu
#
# You can capture the keycode in
# recovery using "aroma-keycapture-flashable.zip" Available in
# AROMA Installer Thread.
#
# Press some key when it run, it will return key code,
# that key can override up/down/select/back/menu actions in
# AROMA Installer, you can even set your home key for up, or
# volume down for select item
#
#-------- Uncomment & Modify this Code:
#
# ini_set("customkeycode_up", "115");
# ini_set("customkeycode_down", "114");
# ini_set("customkeycode_select", "116");
# ini_set("customkeycode_menu", "139");
# ini_set("customkeycode_back", "158");
#
# Set Color with 3 chars hexcolor
setcolor("winbg", "#444");
setcolor("winbg_g", "#222");
setcolor("textbg", "#333");
setcolor("textfg", "#fff");
# Set Color with 6 chars hexcolor
setcolor("textfg_gray", "#bbbbbb");
setcolor("controlbg", "#446699");
setcolor("controlbg_g", "#223355");
# Set ROM Informations
ini_set("rom_name", "AROMA ROM");
ini_set("rom_version", "1.0");
ini_set("rom_author", "amarullz");
ini_set("rom_device", "HTC Desire (bravo)");
# Set Custom Text
ini_set("text_ok", "OK Man");
ini_set("text_next", ">>");
ini_set("text_back", "<<");
# Set Alternative Key Code - You can use keycapture tool
# to capture your device keycode
ini_set("customkeycode_up", "115");
ini_set("customkeycode_down", "114");
ini_set("customkeycode_select", "116");
ini_set("customkeycode_menu", "229");
ini_set("customkeycode_back", "158");
# HTC Desire Calibrated Data
calibrate("7.90","20","7.90","20");
# Alternative method Calibrated Data
calibration("1.8447", "37", "1.2158", "27", "yes");
# Start Calibrating Tools
calibtool("");
# Use ICS Theme located at:
# META-INF/com/google/android/aroma/themes/ics
theme("ics");
# Show "testvar" value in alert
alert(
"Value of testvar",
getvar("testvar")
);
# Set new value for "testvar"
setvar("testvar", "This is only test!!");
# Now Show the "testvar" value in alert
alert(
"Value of testvar",
getvar("testvar")
);
# Set new value for "testvar"
setvar("testvar", "This is only test!!");
# Append new value
appendvar("testvar", "Add String");
# "testvar" now will contain "This is only test!!Add String"
# Set new value for "testvar"
setvar("testvar", "This is only test!!");
# Prepend new value
prependvar("testvar", "Add String!! ");
# "testvar" now will contain "Add String!! This is only test!!"
# Get value of "item.1.1" from /tmp/aroma-data/custom.prop
alert(
"Value of Prop",
file_getprop("/tmp/aroma-data/custom.prop", "item.1.1")
);
# Get value of "item.1.1" from /tmp/aroma-data/custom.prop
alert(
"Value of Prop",
prop("custom.prop", "item.1.1")
);
# Get value of "item.1.1" from META-INF/com/google/android/aroma/custom.prop
alert(
"Value of Prop",
zipprop("META-INF/com/google/android/aroma/custom.prop", "item.1.1")
);
# Get value of "item.1.1" from META-INF/com/google/android/aroma/custom.prop
alert(
"Value of Prop",
resprop("custom.prop", "item.1.1")
);
# Get Device Board Name
alert(
"Device Board Name",
sysprop("ro.product.board")
);
# Get Board Platform
alert(
"Device Board Name",
property_get("ro.board.platform")
);
# It will saved in from /tmp/aroma-data/test.txt
writetmpfile("test.txt", "This is test text");
# Show the content in alert with readtmpfile
alert(
"Value of test.txt",
readtmpfile("test.txt")
);
# Show the content in alert with read
alert(
"Value of test.txt",
read("/tmp/aroma-data/test.txt")
);
# It will saved in from /sdcard/test.txt
writetmpfile("/sdcard/test.txt", "This is test text");
# Show the content in alert with read
alert(
"Value of test.txt",
read("/sdcard/test.txt")
);
# It will read data from /tmp/aroma-data/test.txt
# then save it in variable
setvar(
"testvar",
readtmpfile("test.txt")
);
# It will read data from /sdcard/test.txt
# then save it in variable
setvar(
"testvar",
read("/sdcard/test.txt")
);
# It will read data from zip content "META-INF/com/google/android/aroma/text.txt"
# then save it in variable
setvar(
"testvar",
zipread("META-INF/com/google/android/aroma/text.txt")
);
# It will read data from zip content "tmp/text.txt"
# then save it in variable
setvar(
"testvar2",
zipread("tmp/text.txt")
);
# It will read data from zip content "META-INF/com/google/android/aroma/text.txt"
# then save it in variable
setvar(
"testvar",
resread("text.txt")
);
# It will extract "tmp/busybox" into "/tmp/aroma-data/busybox"
ziptotmp("tmp/busybox", "busybox");
# Now we can execute it
exec("/tmp/aroma-data/busybox","ls","-l");
# It will extract "META-INF/com/google/android/aroma/busybox" into "/tmp/aroma-data/busybox"
restotmp("busybox", "busybox");
# Now we can execute it
exec("/tmp/aroma-data/busybox","ls","-l");
# It will extract and run "META-INF/com/google/android/aroma/test.sh"
zipexec("META-INF/com/google/android/aroma/test.sh");
# With Arguments
zipexec("META-INF/com/google/android/aroma/test.sh", "argument1", "argument2");
# Get Return Status
if
zipexec("META-INF/com/google/android/aroma/test.sh") == "0"
then
alert(
"Exec Status",
"Shell was executed successfully"
);
endif;
# Get STDOUT
zipexec("META-INF/com/google/android/aroma/test.sh");
alert(
"Exec STDOUT",
getvar("exec_buffer")
);
# It will extract and run "META-INF/com/google/android/aroma/test.sh"
resexec("test.sh");
# With Arguments
resexec("test.sh", "argument1", "argument2");
# Get Return Status
if
resexec("test.sh") == "0"
then
alert(
"Exec Status",
"Shell was executed successfully"
);
endif;
# Get STDOUT
resexec("test.sh");
alert(
"Exec STDOUT",
getvar("exec_buffer")
);
# It will run "ls" command
run_program("/sbin/ls");
# or
exec("/sbin/ls");
# With some Arguments
run_program("/sbin/ls", "-l", "/sdcard");
# Mounting Device
exec("/sbin/mount", "-t", "auto", "/system");
# Get Return Status
if
exec("/sbin/mount", "-t", "auto", "/system") == "0"
then
alert(
"Exec Status",
"Mount was executed successfully"
);
endif;
# Get STDOUT
exec("/sbin/ls", "-l", "/sdcard/*.zip");
alert(
"List of Zip in SDCARD",
getvar("exec_buffer")
);