🗣 Android 12+ vs Magisk Hide / Zygisk Denylist vs App Crash 🗣
We are going to introduce the second phase of our journey here. With android 12 we run into a new trouble of app crash those are hidden in Magisk Hide (soon-to-be-dead) / Zygisk Denylist due to some technicalities in Magisk Mount.
For a while we are recommending users to use recovery method, now we have another working solution.
So I will mention both of the current effective methods to overcome the app crash thing. Follow this instructions so you don't have to beat around the bush anymore.
📍 First learn about OMF Extension if you have not already introduce yourselves with extension.
📌 Rootless Recovery Installation:
A detailed post is already available for this. I am just gonna link it here.
📌Font Spoofing / AFDKO Extension For Static/Generic Font Modules:
Font spoofing is basically spoofing our module fonts as pre-existing system fonts. We are using this method for our Variable (VF) modules for a while now. We were searching for a solution for our static modules to use font spoofing, now we have a stable solution.
With this new AFDKO extension now you can use our static modules directly in Magisk. Remember this applies to all OMF powered modules and tools including CFI / Magifont Bot .
For this process you are gonna need to download AFDKO Extension and extract it to OMF Directory. Then flash your module.
Also make sure the module you are using is up to date with the latest OMF template.
- - -
With font-spoofed modules you also need to make sure any other extension you are using follow the font-spoofing method otherwise it will break the purpose of the module.
We are going to introduce the second phase of our journey here. With android 12 we run into a new trouble of app crash those are hidden in Magisk Hide (soon-to-be-dead) / Zygisk Denylist due to some technicalities in Magisk Mount.
For a while we are recommending users to use recovery method, now we have another working solution.
So I will mention both of the current effective methods to overcome the app crash thing. Follow this instructions so you don't have to beat around the bush anymore.
📍 First learn about OMF Extension if you have not already introduce yourselves with extension.
📌 Rootless Recovery Installation:
A detailed post is already available for this. I am just gonna link it here.
📌Font Spoofing / AFDKO Extension For Static/Generic Font Modules:
Font spoofing is basically spoofing our module fonts as pre-existing system fonts. We are using this method for our Variable (VF) modules for a while now. We were searching for a solution for our static modules to use font spoofing, now we have a stable solution.
With this new AFDKO extension now you can use our static modules directly in Magisk. Remember this applies to all OMF powered modules and tools including CFI / Magifont Bot .
For this process you are gonna need to download AFDKO Extension and extract it to OMF Directory. Then flash your module.
Also make sure the module you are using is up to date with the latest OMF template.
- - -
With font-spoofed modules you also need to make sure any other extension you are using follow the font-spoofing method otherwise it will break the purpose of the module.
Forwarded from OMF - Channel
Configuration File Syntax Conventions
Square Brackets [ ] ¹
The square brackets ( [ ] ) indicate that the enclosed element (parameter, value, or information) is optional. You can choose one or more items or no items. Do not type the square brackets themselves in the option.
Angle Brackets < > ¹
The angle brackets ( < > ) indicate that the enclosed element (parameter, value, or information) is mandatory. You are required to replace the text within the angle brackets with the appropriate information. Do not type the angle brackets themselves in the option.
¹ Linux command line syntax
Vertical Line |
The vertical line, also called the vertical slash or upright slash ( | ), means "or". You can choose values on the left side of the vertical line or values on the right side, not both.
Font Variations ²
<
E.g.
The
² Google Font CSS API.
Comments ³
Any line that starts in a hash ( # ) sign (and a space) is a comment which takes no effect in the config file and will be ignored by the OMF installer.
E.g.
A commented option is also a comment but there's no space that follows the hash ( # ) sign.
E.g.
Comment out (add a # to the start of the line) an option to disable it.
³ General configuration file guide
Square Brackets [ ] ¹
The square brackets ( [ ] ) indicate that the enclosed element (parameter, value, or information) is optional. You can choose one or more items or no items. Do not type the square brackets themselves in the option.
Angle Brackets < > ¹
The angle brackets ( < > ) indicate that the enclosed element (parameter, value, or information) is mandatory. You are required to replace the text within the angle brackets with the appropriate information. Do not type the angle brackets themselves in the option.
¹ Linux command line syntax
Vertical Line |
The vertical line, also called the vertical slash or upright slash ( | ), means "or". You can choose values on the left side of the vertical line or values on the right side, not both.
Font Variations ²
<
axis>@<range (low)>..<range (high)
>E.g.
[email protected]
The
wght
(weight) axis has the values from 1
to 1000
.² Google Font CSS API.
Comments ³
Any line that starts in a hash ( # ) sign (and a space) is a comment which takes no effect in the config file and will be ignored by the OMF installer.
E.g.
# This is a comment bla bla bla
# Write anything you want here
Commented Options ³A commented option is also a comment but there's no space that follows the hash ( # ) sign.
E.g.
#STATIC=true
#GS=false
Uncomment (remove the # at the start of the line) an option to enable it.Comment out (add a # to the start of the line) an option to disable it.
³ General configuration file guide
📌 Bootloop Solution Caused by Magisk Modules (including our font modules)
📍Bootloop is a common problem for users who use Custom rom and Magisk. Due to incompatibility of the module with system, bootloop can happen with random magisk module. Today I am gonna focus on few simple ways to deal with bootloop (without reinstalling your system).
📜 Delete The Module Manually:
- boot to recovery and navigate to /data/adb/modules
- select the folder with the name of your module, open that
- tap on the checkbox and select "delete" and swipe
- then reboot to system
📜 Recovery's Dedicated Option:
If you use modified recovery like Ofox/Pbrp, there will be a dedicated feature/option to remove magisk module. EG: Ofox's "Magisk Manager".
Beside there should be Magisk as add on in recovery (Aroma) mode, you can use that too.
Usually Team Win's stock TWRP doesn't have this additional features. In that case use Manual method from above.
📜 Remove Magisk Modules Using ADB:
https://telegra.ph/Remove-Magisk-Modules-Using-ADB-02-09
📜 Magisk Module: "Magisk BootloopSaver"
This magisk module disable all installed magisk modules during the boot process, if boot process takes more than usual time (which is usually bootloop). It's a simple magisk module just like any other modules. Keep it installed and it will protect 🤨 you from unwanted bootloops due to random magisk module incompatibility.
Download: https://github.com/Magisk-Modules-Alt-Repo/HuskyDG_BootloopSaver/releases
📍Switching from MFFM powered module to OMF powered modules will cause definite bootloops. In that case, you must clean flash, means:
- uninstall MFFM powered module
- reboot
- install OMF powered module
- reboot
Switching from OMF to MFFM doesn't need any precaution. Just install as you do normally (uninstall OMF module -> install MFFM module -> reboot). But make sure you don't use two font modules at the same time which function in same way {By modifying font.xml (font configuration file)}
📍Bootloop is a common problem for users who use Custom rom and Magisk. Due to incompatibility of the module with system, bootloop can happen with random magisk module. Today I am gonna focus on few simple ways to deal with bootloop (without reinstalling your system).
📜 Delete The Module Manually:
- boot to recovery and navigate to /data/adb/modules
- select the folder with the name of your module, open that
- tap on the checkbox and select "delete" and swipe
- then reboot to system
📜 Recovery's Dedicated Option:
If you use modified recovery like Ofox/Pbrp, there will be a dedicated feature/option to remove magisk module. EG: Ofox's "Magisk Manager".
Beside there should be Magisk as add on in recovery (Aroma) mode, you can use that too.
Usually Team Win's stock TWRP doesn't have this additional features. In that case use Manual method from above.
📜 Remove Magisk Modules Using ADB:
https://telegra.ph/Remove-Magisk-Modules-Using-ADB-02-09
📜 Magisk Module: "Magisk BootloopSaver"
This magisk module disable all installed magisk modules during the boot process, if boot process takes more than usual time (which is usually bootloop). It's a simple magisk module just like any other modules. Keep it installed and it will protect 🤨 you from unwanted bootloops due to random magisk module incompatibility.
Download: https://github.com/Magisk-Modules-Alt-Repo/HuskyDG_BootloopSaver/releases
📍Switching from MFFM powered module to OMF powered modules will cause definite bootloops. In that case, you must clean flash, means:
- uninstall MFFM powered module
- reboot
- install OMF powered module
- reboot
Switching from OMF to MFFM doesn't need any precaution. Just install as you do normally (uninstall OMF module -> install MFFM module -> reboot). But make sure you don't use two font modules at the same time which function in same way {By modifying font.xml (font configuration file)}
📌 Possible solution for recovery installation Errors::
🔖 For errors like: "Can't extract zip (error 123)" "System is not writable" please follow this steps.
[>] Make sure you followed the #recovery installation guides properly.
[>] Move your module to Download folder (in Internal storage) if it is located in other directories.
[>] Make sure the module name doesn't contain any spaces. If yes rename it without spaces.
[>] Mount 'System' and 'Product' partition before flashing
🔖 Additionally [if above steps fail for you]:
[+] There should be a option in recovery called "Unmount system before flashing a zip" in the beginning of the flashing window, try to untick that while you flash.
[+] Go to terminal of your TWRP and run following commands:
❌ Even after everything (above steps) fails in your case then only suggestion is to try with a different TWRP/Recovery.
🔖 For errors like: "Can't extract zip (error 123)" "System is not writable" please follow this steps.
[>] Make sure you followed the #recovery installation guides properly.
[>] Move your module to Download folder (in Internal storage) if it is located in other directories.
[>] Make sure the module name doesn't contain any spaces. If yes rename it without spaces.
[>] Mount 'System' and 'Product' partition before flashing
🔖 Additionally [if above steps fail for you]:
[+] There should be a option in recovery called "Unmount system before flashing a zip" in the beginning of the flashing window, try to untick that while you flash.
[+] Go to terminal of your TWRP and run following commands:
mount -o rw,remount /system
mount -o rw,remount /product
❌ Even after everything (above steps) fails in your case then only suggestion is to try with a different TWRP/Recovery.
Forwarded from OMF - Channel
OMF Android 12 Magisk Hide/DenyList App Crashing Workaround Explain.
First of all, there is no fix for it yet. Or even it will be never fixed.
Why does it happen?
When an app is hidden, Magisk will undo all the modifications. The app will no longer have access to the custom font files -> Crash!
The app may not crash instantly but as soon as the requested font is not found.
What are the culprits?
It only happens since Android 12 => Android 12 is the culprit!
It only happens when the app being hidden => Magisk is the culprit!
Who can fix it?
Google? Never!
Magisk developers? I don't think so.
What OMF does to circumvent it?
OMF tries to bypasses Magisk Hide/DenyList by hiding itself from being unmounted. Therefore your hidden apps will still be able to access the requested font files.
The method is known as "font spoofing" - naming custom fonts exactly as one of the existing system font files. The downside is that the method depends on the way Android manages its fonts. It may not work in near the future.
In the meantime, it is highly recommended that you should always choose a ROM that does not have any kind of font modifications/customizations if intended to use Magisk custom fonts modules.
First of all, there is no fix for it yet. Or even it will be never fixed.
Why does it happen?
When an app is hidden, Magisk will undo all the modifications. The app will no longer have access to the custom font files -> Crash!
The app may not crash instantly but as soon as the requested font is not found.
What are the culprits?
It only happens since Android 12 => Android 12 is the culprit!
It only happens when the app being hidden => Magisk is the culprit!
Who can fix it?
Google? Never!
Magisk developers? I don't think so.
What OMF does to circumvent it?
OMF tries to bypasses Magisk Hide/DenyList by hiding itself from being unmounted. Therefore your hidden apps will still be able to access the requested font files.
The method is known as "font spoofing" - naming custom fonts exactly as one of the existing system font files. The downside is that the method depends on the way Android manages its fonts. It may not work in near the future.
In the meantime, it is highly recommended that you should always choose a ROM that does not have any kind of font modifications/customizations if intended to use Magisk custom fonts modules.
✱ About KSU ✱
✪ Both OMF/MFFM template powered modules from our channel/group support KSU.
✪ Always try to clean flash font modules in KSU. (Means uninstall any other previously installed font or font related module; reboot; install new module; reboot).
✪ If you face bootloop while using KSU using any module, reboot back to your TWRP, go to your TWRP's file manager browse to
✪ Both OMF/MFFM template powered modules from our channel/group support KSU.
✪ Always try to clean flash font modules in KSU. (Means uninstall any other previously installed font or font related module; reboot; install new module; reboot).
✪ If you face bootloop while using KSU using any module, reboot back to your TWRP, go to your TWRP's file manager browse to
data/adb/ksu
using file manager and you will find a file named modules.img
, delete it and reboot system.================================
❂❂ INSTALLATION WITH OMF TEMPLATE POWERED MODULE ❂❂
🧰 We have currently two efficient way to flash your fav Emoji Font (ttf file) with any OMF module.
✅ Collect your fav Emoji font. Rename it like this: Emoji-FontName.ttf Eg: Emoji-Samsung.ttf
✅ Then use any of this extension. Means copy any of this extension and your Renamed Emoji font to OMFDIR then flash your OMF Module.
1️⃣ Universal Emoji Extension:
https://www.tg-me.com/MFFMDisc/69690/78843
2️⃣ NotoEmojiPus Extension:
https://www.tg-me.com/MFFMDisc/69690/69702
Q: Where can I find OMF powered module?
A: Here: https://www.tg-me.com/mffmex/201
================================
❂❂ INSTALLATION WITH MFFM TEMPLATE POWERED MODULE ❂❂
🧰 For installation with MFFM Template powered modules, Just copy the renamed font to
MFFM Folder (sdcard/MFFM)
or shove it inside the module with MT Manager file manager.And then copy the
MFFM-UniEmoji
Addon to MFFM
folder. Get the Addon from Here.================================
❖❖ Other Methods ❖❖
🧰 Use with Emoji Replacer App by @EmojiReplacerCommunity
📌 Download Emoji Replacer 😬 👉 APK 👈
✅ Goto settings and enable the option "Install a custom emoji .ttf file"
🛠 Then in the app homepage, on top beside the settings icon there will be a 'folder' tab
🛠 Click there and browse for you custom font and apply it.
———-
🛠 Non-root : https://www.tg-me.com/EmojiReplacerCommunity/12194
🛠 Manual Method: https://www.tg-me.com/EmojiReplacerCommunity/8143
Please open Telegram to view this post
VIEW IN TELEGRAM
-= Bangla Solution =-
🗣 বাংলা ফন্ট ব্যবহারের জন্যে আমরা এখন আর সরাসরি ম্যাজিস্ক ফ্ল্যাশ্যাবল মডিউল সরবরাহ করি না। কারন আমাদের ইংলিশ মডিউলের সাথে আরেকটি বাংলা ফন্টের মডিউল এখন সাঙ্ঘর্ষিক হয়ে যায় তাই (দুটো মডিউল পাশাপাশি ইন্সটল করে ব্যবহার করা টা এখন এক রকম অসম্ভব, মুলত এন্ড্রোয়েড ১২ এর আপডেট এর পর ফন্ট কনফিগারেশন অনেক বদলে গিয়েছে, তাই...) । তাই আমরা ইংলিশ মডিউলের সাথে এক্সট্র্যা হিসেবে বাংলা ফন্ট ইন্সটলের উপায় হিসেবে বেছে নিয়েছি।
📍*বাংলা ফন্ট ব্যবহারের জন্যে যেসব টুলস/এক্সটেনশন/অ্যাড-অন আছে সেগুলো আমি এখানে উল্লেখ করে দিচ্ছিঃ
১) প্রথমত আমাদের MFFM এর ডেডিকেটেড বাংলা চ্যানেলে সব টুলস/রিলিজ খুজে পাবেন, সাথে বাংলায় আলোচনা করতে চাইলে বাংলা টপিকে আসুন।
২) OMF: যে কোন OMF মডিউল/টুলস (CFI Inluded) বা OMF টেমপ্লেটের উপর ভিত্তি করে বানানো মডিউলের সাথে বাংলা ফন্ট ইন্সটল করতে চাইলে https://www.tg-me.com/mffmbangla/4 এই পোস্ট টি ফলো করুন।
OMF এক্সটেনশনের ব্যবহার সম্পর্কে না জানা থাকলে এই লিংক দুটো থেকে শিখে নিন।
🔗 শর্ট ভার্সন (OMF Wiki)
🔗 লং ভার্সন (MFFM Blog)
৩) MFFM: আমাদের মেইন চ্যানেলেই শুধু মাত্র MFFM টেমপ্লেট এর উপরে ভিত্তি করে বানানো মডিউল পোস্ট করা হয়। যদি MFFM টেমপ্লেট পাওয়ার্ড কোন মডিউল আপনি ব্যবহার করেন এবং তার সাথে আপনার পছন্দের বাংলা ফন্ট ব্যবহার করতে চান তাহলে এই পোস্ট টি ফলো করুনঃ https://www.tg-me.com/mffmbangla/2
৪) XCFI: XCFI মূলত CFI এর উপর ভিত্তি করে বানানো একটি টুলস যেটা দিয়ে আপনি আপনার পছন্দের ইংরেজি / বাংলা উভয় ফন্ট ইন্সটল করতে পারবেন। বিস্তারিত টিউটোরিয়াল মূল পোস্টে অন্তর্ভুক্ত করা হয়েছেঃ https://www.tg-me.com/mffmex/215 (Tool discontinued)
✂️ আপনি যদি শুধু মাত্র আপনার ফোনের ইংলিশ বাদে শুধু বাংলা ফন্ট চেঞ্জ করতে চান তাহলে আদর্শ টুলস আপনার জন্যে XCFI. পাশাপাশি আপনি CFI + ২ নাম্বার পোস্ট এর বাংলা OMF Extension ব্যবহার করতে পারেন।
✂️ আপনার পছন্দের ইংলিশ ফন্টের OMF বা MFFM মডিউল না থাকলে আমাদের গ্রুপের নোটস থেকে #request নোটটি চেক করুন, আশা করি আপনার সমস্যার সমাধান পেয়ে যাবেন।
✂️MFFM Bengali চ্যানেলে যথাক্রমে ২ ও ৩ নাম্বারে উল্লেখকৃত দুটি সার্বজনীন টুলস বাদেও কাস্টম প্রস্তুতকৃত কিছু ফন্ট OMF Extension এবং MFFM Add On হিসেবে সরবরাহ করা হয়েছে। আপনি যদি ওগুলো ব্যবহার করেন তাহলে ২/৩ নম্বরের টুলস দরকার নেই।
🗣 বাংলা ফন্ট ব্যবহারের জন্যে আমরা এখন আর সরাসরি ম্যাজিস্ক ফ্ল্যাশ্যাবল মডিউল সরবরাহ করি না। কারন আমাদের ইংলিশ মডিউলের সাথে আরেকটি বাংলা ফন্টের মডিউল এখন সাঙ্ঘর্ষিক হয়ে যায় তাই (দুটো মডিউল পাশাপাশি ইন্সটল করে ব্যবহার করা টা এখন এক রকম অসম্ভব, মুলত এন্ড্রোয়েড ১২ এর আপডেট এর পর ফন্ট কনফিগারেশন অনেক বদলে গিয়েছে, তাই...) । তাই আমরা ইংলিশ মডিউলের সাথে এক্সট্র্যা হিসেবে বাংলা ফন্ট ইন্সটলের উপায় হিসেবে বেছে নিয়েছি।
📍*বাংলা ফন্ট ব্যবহারের জন্যে যেসব টুলস/এক্সটেনশন/অ্যাড-অন আছে সেগুলো আমি এখানে উল্লেখ করে দিচ্ছিঃ
১) প্রথমত আমাদের MFFM এর ডেডিকেটেড বাংলা চ্যানেলে সব টুলস/রিলিজ খুজে পাবেন, সাথে বাংলায় আলোচনা করতে চাইলে বাংলা টপিকে আসুন।
২) OMF: যে কোন OMF মডিউল/টুলস (CFI Inluded) বা OMF টেমপ্লেটের উপর ভিত্তি করে বানানো মডিউলের সাথে বাংলা ফন্ট ইন্সটল করতে চাইলে https://www.tg-me.com/mffmbangla/4 এই পোস্ট টি ফলো করুন।
OMF এক্সটেনশনের ব্যবহার সম্পর্কে না জানা থাকলে এই লিংক দুটো থেকে শিখে নিন।
🔗 শর্ট ভার্সন (OMF Wiki)
🔗 লং ভার্সন (MFFM Blog)
৩) MFFM: আমাদের মেইন চ্যানেলেই শুধু মাত্র MFFM টেমপ্লেট এর উপরে ভিত্তি করে বানানো মডিউল পোস্ট করা হয়। যদি MFFM টেমপ্লেট পাওয়ার্ড কোন মডিউল আপনি ব্যবহার করেন এবং তার সাথে আপনার পছন্দের বাংলা ফন্ট ব্যবহার করতে চান তাহলে এই পোস্ট টি ফলো করুনঃ https://www.tg-me.com/mffmbangla/2
✂️ আপনি যদি শুধু মাত্র আপনার ফোনের ইংলিশ বাদে শুধু বাংলা ফন্ট চেঞ্জ করতে চান তাহলে আদর্শ টুলস আপনার জন্যে XCFI. পাশাপাশি আপনি CFI + ২ নাম্বার পোস্ট এর বাংলা OMF Extension ব্যবহার করতে পারেন।
✂️ আপনার পছন্দের ইংলিশ ফন্টের OMF বা MFFM মডিউল না থাকলে আমাদের গ্রুপের নোটস থেকে #request নোটটি চেক করুন, আশা করি আপনার সমস্যার সমাধান পেয়ে যাবেন।
✂️MFFM Bengali চ্যানেলে যথাক্রমে ২ ও ৩ নাম্বারে উল্লেখকৃত দুটি সার্বজনীন টুলস বাদেও কাস্টম প্রস্তুতকৃত কিছু ফন্ট OMF Extension এবং MFFM Add On হিসেবে সরবরাহ করা হয়েছে। আপনি যদি ওগুলো ব্যবহার করেন তাহলে ২/৩ নম্বরের টুলস দরকার নেই।
📌Here is the list of all MFFM Channels & Groups:
➲ Discussion Group | Main Channel | Blog | Scrap | Preview | MFFM Modules (A Secondary Channel For Modules) | MFFM Emoji | MFFM Download Center
📌Official OMF Channel & Group:
➲ OMF Channel | OMF Discussion
📌Other Notable Channels And Groups Worth a Mention:
➲ RKBDI emoji | Emoji Replacer | Emoji Replacer Discussion | zFont App Channel | zFont App Support Group | Android Repository
➲ Discussion Group | Main Channel | Blog | Scrap | Preview | MFFM Modules (A Secondary Channel For Modules) | MFFM Emoji | MFFM Download Center
📌Official OMF Channel & Group:
➲ OMF Channel | OMF Discussion
📌Other Notable Channels And Groups Worth a Mention:
➲ RKBDI emoji | Emoji Replacer | Emoji Replacer Discussion | zFont App Channel | zFont App Support Group | Android Repository
Slightly changed the installation logic 'dated':
With no font or font related module (that modifies fonts.xml) installed (if there are any, uninstall all of them and reboot) open any Terminal app eg.
◍◍ You only need to do this once. Repeat this only if you change ROM! After this you are ready to install, update, dirty install, any
Update pushed to MFFM_v11 repo. I will update the MFFM_v12 modules of this channel.
22/11/2023
to handle seamless installation across KSU/Magisk/Android 14 for MFFM Template Powered Modules.With no font or font related module (that modifies fonts.xml) installed (if there are any, uninstall all of them and reboot) open any Terminal app eg.
Termux
run this following command with root permission.su -c '
rm -rf /sdcard/MFFM/fontsxml
[ ! -d /sdcard/MFFM/fontsxml ] && mkdir -p /sdcard/MFFM/fontsxml
cp /system/etc/fonts.xml /sdcard/MFFM/fontsxml/fonts.xml
cp /product/etc/fonts_customization.xml /sdcard/MFFM/fontsxml/fonts_customization.xml'
◍◍ You only need to do this once. Repeat this only if you change ROM! After this you are ready to install, update, dirty install, any
MFFM_v{11,12}
template powered modules without any extra troubles.◍◍Update pushed to MFFM_v11 repo. I will update the MFFM_v12 modules of this channel.
Announcement: MFFM template (and 'based on' modules) will be discontinued from now on. Old modules will be available for the time being.
All future updates will only feature OMF template.
If you want to debug your problem with OMF Template powered modules in the OMF Group, make sure you flash Original OMF (SF Pro) Module to reproduce the bugs/issues. Provide your instalation logs and fonts xml files and also mention your ROM and android version.
All future updates will only feature OMF template.
If you want to debug your problem with OMF Template powered modules in the OMF Group, make sure you flash Original OMF (SF Pro) Module to reproduce the bugs/issues. Provide your instalation logs and fonts xml files and also mention your ROM and android version.