TextSecure & RedPhone F-Droid repository - App Stores

I have published F-Droid repository with TextSecure and RedPhone apps,
for people who don't want to install apps from Google Play for security reasons.
You can find my F-Droid repository (and more details about why I created it) here:
https://fdroid.eutopia.cz
Sources (build recipes) for repository are here:
https://github.com/xmikos/fdroiddata
Apps are independently built from original source code whenever new version (tag) is published on GitHub by authors of TextSecure/RedPhone.
UPDATE:
Moxie Marlinspike apparently doesn't like the idea of independent builds of TextSecure and RedPhone so much, that he started with legal threats on Twitter. Independent builds of TextSecure have been therefore renamed to TextLibre and RedPhone to PhoneLibre. Application IDs are still the same, so you will not lose data after upgrade.

TextSecure & RedPhone builds renamed to TextLibre & PhoneLibre
Moxie Marlinspike apparently doesn't like the idea of independent builds of TextSecure and RedPhone so much, that he started with legal threats on Twitter. Independent builds of TextSecure have been therefore renamed to TextLibre and RedPhone to PhoneLibre. Application IDs are still the same, so you will not lose data after upgrade.

Related

[APP] Cyanogen Updater v1.1.1 now available [UPDATED 8/10/09]

I know the official thread for this app is over in the developer's section but that's only because it was a collaboration of developers and coders that brought it to fruition. But since it is an app after all, I thought I would post here just in case people using CM builds don't visit the developer forum on the regular.
For those who don't know, Cyanogen Updater is an application based off the JFUpdater and does exactly what you would think. Its obviously only useful for those who have root and use Cyanogen builds but it is a great time saver and helps keep up with the latest builds especially the experimental ones. It is capable of searching for updates for both experimental and stable builds (options are found by pressing menu) and has the option to apply the update immediately or apply it later.
Development for this app has really taken off and went from concept to downloadable app within about a day complete with awesome Cyanoganized graphics! The development thread moves fast and updates are soon to follow.
The app can be downloaded directly from the Market or installed with adb after you download it from our google code page.
Here are all the links you will need:
Google code page to find the change logs, to-do's, report bugs, see screenshots of it in action, and to keep up with the latest versions:
http://code.google.com/p/cyanogen-updater/
The official thread is in the developer's section: Please avoid cluttering the page with "downloading now" type responses. Suggestions are always welcomed and I think we would like bugs report to the google page rather than in the thread:
http://forum.xda-developers.com/showthread.php?t=544663
Enjoy!
Nods and change log (updated 8/10/09)
CHANGELOG
V1.1.1 (current)
* Mainly just string fixes (better English, Capitalization, CM instead of JF)
* Some minor UI enhancements (background, alignment)
V1.1
* Added graphics by prash
* Allow choice of showing experimental builds or just stable builds
* Workaround for Issue 1 (see tracker)
* Fix for Service not firing at startup
* Lots of other changes that senab can't remember...
Upcoming Features for the next Release
* Update check period can be set to manual
* Metadata-File changed to JSON Format
* Set the Location of the MetaData? File via Preferences
* MD5SUM removed from Metadata File. Its getting downloaded from the Server
* Updates are now stored in the cm-updates Folder on SD and also get applied from there
* Abbility to delete the whole UpdateFolder? via the App
* The "Existing update.zip found" replaced with a Dropdownlist of all updates in the cm-updates Folder, so the User can choose which one to apply
* Updates are not renamed to update.zip. the original filename from the server is taken to store them in the new folder. So you can have multiple updates in the folder
* A little Bit Connection cleanup on Mirror Changes
* New Infos in DownloadDialog?: Filename, Download Speed and Remaining Time
* aTrackDog support
* Russian, German, Italian, Dutch, French, Portuguese and Spanish Translation
BIG thanks to garok1989 and all the XDA members who helped make this possible and especially to:
Coders - senab, willmav5000, tuxfoo, Firefart and of course Sergi Velez for the original JFUpdater...
Artwork - prash, amarkowz, matt_stang, kingsizeriz, and all others for helpful suggestions...
Translations - FireFart, DavidChill, Moksha, Gamempire, Wiebbe, Chahk, Offcina, ss1271 and all the others
BIGGEST thanks to Cyanogen himself for bringing us great ROM's, recovery images, posting this to market, and helping us along with this project.
THANKS CYANOGEN!!!
Edit lol...
Nevermind I didnt read your post all the way and you clearly stated it was in the Market lol
Is this the same one that is in the Market? I just ran across about 5 minutes ago in the Market

[Discontinued-ROM][[2013-12-16][Guhl] Permission Spoofing Framework - AOSP 4.4

[Closing message]
Hi,
I am discontinuing the work on the Android Permission Spoofing Framework as I am not using Android anymore.
If anybody is interested in taking over the development I would be very happy to help her or him getting started as much as possible.
Feel free to contact me if you would like to work on it.
Sorry and have fun - Guhl
[End closing message]
This ROM is based on AOSP KitKat 4.4.2_r1. Besides the deep integration of the permission spoofing functionality the ROM is completely stock - it's not even rooted!
In addition to the original AOSP rom it includes the permission spoofing framework enhancement that was originally developed by Plamen K. Kosseff for Android 2.3. The functionality has been rebased to Android 4.4 and enhanced (a lot) by me and is now available.
My work was/is originally done for the HTC vision (G2/DZ) for which i provide ROMs based on ASOP and CM10.1 (see posting in the vision forum) but since i do also own a N4 i will provide ROMs for it also. There is also a CM version for the Nexus 4 here.
If you as a developer want to add the permission spoofing framework to your ROM please go ahead it should be portable easily. I will keep the commit list updated. If you need help don't hesitate to ask!
Actually the main motivation to publish this is to inspire other developers to integrate this with their work.
The source of the enhancement can be found on github in the repositories:
platform_frameworks_base
platform_frameworks_opt_telephony
platform_packages_apps_settings
The current work is done in the 4.4.2_r1 branch and the relevant commits are:
framework initial commit
framework bug fix 1
framework bug fix 2
frameworks telephony initial commit
app settings initial commit
framework permission spoofing - location
framework pff: infrastructure code cleanup
framework pff: permission spoofing - contacts and phone log
framework pff: permission spoofing - calendar (Instances)
framework pff: permission spoofing - calendar (Instances - cleanup)
framework pff: permission revoking - initial commit
framework pff: add PFFInfoDatabase to make spoofed informations persistant and changeable
framework pff: bug fix for permission revoking
What is permission spoofing
Permission spoofing means that the framework will return spoofed information to Apps instead of the original information based on permissions that the App requested during installation. The main motivation for the development of this functionality is the protection of the privacy of the phones owner.
Examples for spoofed information are:
Empty contact list instead of real contacts - READ_CONTACTS
False location instead of real location - ACCESS_COARSE_LOCATION / ACCESS_FINE_LOCATION
False Information for phone id and phone number - READ_PHONE_STATE
Empty log instead of real phone call log - READ_CALL_LOG
Empty calendar list instead of real calendar entries - READ_CALENDAR
....
Current implementation
Currently the following permissions are available:
READ_PHONE_STATE
While this permission allows the App to read the state of the phone (in call, ...) it also allows the App to read information like the phone number or the IMEI of the phone. Instead of revoking the permission that has to be granted to an App, permission spoofing provides spoofed information for this sensitive data.
ACCESS_COARSE_LOCATION and ACCESS_FINE_LOCATION
Instead of the real location a location that can be set using the PFF-GPSPath will be reporte (the default spoofed location is the top of Mt. Everest). The implementation is not perfect yet (Google maps and Latitude still seem to know the coarse location - working on that)
READ_CONTACTS and READ_CALL_LOG
Instead of the contacts and the call log an empty list will be reported. The implementation sets the limit parameter of the query to 0 if the permission is spoofed.
READ_CALENDAR
The implementation changes the date for which the items will returned to the first week of 1970.
More permissions might be added in the future.
Usage
Spoofing can be enabled on a per App basis. To enable spoofing go to Settings - Apps, choose the App for which you want to spoof the permission. Below the spoofable permission will be a switch that can be set to On to enable spoofing or Off to disable spoofing for this App.
Optional Apps
The source of these apps is also available at https://github.com/guhl
PFF-GPSPath
The PFF-GPSPath App can be used to set the spoofed location and in addition it can also be used to define a path the can then be simulated in the App (by effectively moveing the spoofed location)!
HowTo for PFF-GPSPath HowTo
PFF-Settings
The PFF-Settings app provides the same functionality as App - Settings but in a more comprehensive way.
It provides a list of all Apps (including system Apps) that have a spoofable permission and allows you to set spoofing On/Off for them
PFF-Test
If you spoof a spoofable permission for the app PFF-Test you can check the info that the framework provides to PFF-Test
Downloads
ROM aosp_mako-ota-eng.4.4.2.pff.20131216.zip
Gapps are not included in the rom - they can be found at pa_gapps-stock-4.4.2-20131215-signed.zip
PFF-GPSPath_1_3.apk
PFF-AppSettings_1_1.apk
PFF-Test
Communication
I do not want to start a flame war on spoofing on XDA. Whiile spoofing is important for me I do understand people opposing it.
If you want to talk to me, the best way to do this is to look for me (Guhl) at #nexus4, #G2ROOT or #andromadus on freenode IRC.
Changelog
2013-12-16
Rebased from AOSP 4.3 to 4.4.2
Credits
Plamen K. Kosseff for the original framework changes
Flinny for his huge work on the Andromadus roms and supporting me with my original development for the vision
pierre_ja, Nipqer, Hymie and all the others at #G2ROOT for their endless help and entertainment
XDA:DevDB Information
Permission spoofing framwork - Nexus 4 - AOSP 4.4, ROM for the Google Nexus 4
Contributors
guhl99
ROM OS Version: 4.4.x KitKat
Based On: AOSP
Version Information
Status: Stable
Created 2013-12-16
Last Updated 2014-07-06
PFF-GPSPath Version 1.3
Hi,
In my constant struggle to remove everything that involves the use of the closed source Google Play-Services from my devices I rewrote the PFF-GPSPath App.
Version 1.3:
- Switched to OpenStreetMap data using the MapQuest Android API
- Completely removed dependencies on Google play-services
Known-Issues:
- Draging Markers is not implemented yet
There is no functional improvement between version 1.2 and version 1.3 but it is all free!
Have fun - Guhl
*******

[Discontinued-ROM][[2014-02-02][Guhl] Permission Spoofing Framework - Xperia Pro - CM-11.0

[Discontinued-ROM][[2014-02-02][Guhl] Permission Spoofing Framework - Xperia Pro - CM-11.0
[Closing message]
Hi,
I am discontinuing the work on the Android Permission Spoofing Framework as I am not using Android anymore.
If anybody is interested in taking over the development I would be very happy to help her or him getting started as much as possible.
Feel free to contact me if you would like to work on it.
Sorry and have fun - Guhl
[End closing message]
This ROM is based on LegacyXperia CM-11.0. Besides the deep integration of the permission spoofing functionality the ROM is unchanged from the LegacyXperia CM-11.0 builds!
In addition to the original LegacyXperia rom it includes the permission spoofing framework enhancement that was originally developed by Plamen K. Kosseff for Android 2.3. The functionality has been rebased to Android 4.4 and enhanced (a lot) by me and is now available.
My work was/is originally done for the HTC vision (G2/DZ) for which i provide ROMs based on ASOP and CM.
If you as a developer want to add the permission spoofing framework to your ROM please go ahead it should be portable easily. I will keep the commit list updated. If you need help don't hesitate to ask!
Actually the main motivation to publish this is to inspire other developers to integrate this with their work.
The source of the enhancement can be found on github in the repositories:
android_frameworks_base branch lx_cm-11.0
cm-android_frameworks_opt_telephony branch cm-11.0
cm-android_packages_apps_Settings branch cm-11.0
The relevant commits are:
framework initial commit
framework bug fix 1
framework bug fix 2
frameworks telephony initial commit
app settings initial commit
framework permission spoofing - location
framework pff: infrastructure code cleanup
framework pff: infrastructure bug-fix in ContextImpl.java
framework pff: permission spoofing - contacts and phone log
framework pff: permission spoofing - calendar (Instances)
framework pff: permission spoofing - calendar (Instances - cleanup)
framework pff: permission revoking - initial commit
framework pff: add PFFInfoDatabase to make spoofed information persistent and changeable
framework pff: bug fix for permission revoking
What is permission spoofing
Permission spoofing means that the framework will return spoofed information to Apps instead of the original information based on permissions that the App requested during installation. The main motivation for the development of this functionality is the protection of the privacy of the phones owner.
Examples for spoofed information are:
Empty contact list instead of real contacts - READ_CONTACTS
False location instead of real location - ACCESS_COARSE_LOCATION / ACCESS_FINE_LOCATION
False Information for phone id and phone number - READ_PHONE_STATE
Empty log instead of real phone call log - READ_CALL_LOG
Empty calendar list instead of real calendar entries - READ_CALENDAR
....
Current implementation
Currently the following permissions are available:
READ_PHONE_STATE
While this permission allows the App to read the state of the phone (in call, ...) it also allows the App to read information like the phone number or the IMEI of the phone. Instead of revoking the permission that has to be granted to an App, permission spoofing provides spoofed information for this sensitive data.
ACCESS_COARSE_LOCATION and ACCESS_FINE_LOCATION
Instead of the real location a location that can be set using the PFF-GPSPath will be reporte (the default spoofed location is the top of Mt. Everest). The implementation is not perfect yet (Google maps and Latitude still seem to know the coarse location - working on that)
READ_CONTACTS and READ_CALL_LOG
Instead of the contacts and the call log an empty list will be reported. The implementation sets the limit parameter of the query to 0 if the permission is spoofed.
READ_CALENDAR
The implementation changes the date for which the items will returned to the first week of 1970.
More permissions might be added in the future.
Usage
Spoofing can be enabled on a per App basis. To enable spoofing go to Settings - Apps, choose the App for which you want to spoof the permission. Below the spoofable permission will be a switch that can be set to On to enable spoofing or Off to disable spoofing for this App.
Optional Apps
The source of these apps is also available at https://github.com/guhl
PFF-GPSPath
The PFF-GPSPath App can be used to set the spoofed location and in addition it can also be used to define a path the can then be simulated in the App (by effectively moveing the spoofed location)!
HowTo for PFF-GPSPath HowTo
PFF-Settings
The PFF-Settings app provides the same functionality as App - Settings but in a more comprehensive way.
It provides a list of all Apps (including system Apps) that have a spoofable permission and allows you to set spoofing On/Off for them
PFF-Test
If you spoof a spoofable permission for the app PFF-Test you can check the info that the framework provides to PFF-Test
Downloads
ROM cm-11-20140202-UNOFFICIAL-LegacyXperia-iyokan-pff.zip
Gapps are not included in the rom - they can be found at legacyxperia CM-11.0 gapps page
PFF-GPSPath_1_3.apk
PFF-AppSettings_1_1.apk
PFF-Test
Communication
I do not want to start a flame war on spoofing on XDA. Whiile spoofing is important for me I do understand people opposing it.
If you want to talk to me, the best way to do this is to look for me (Guhl) at #nexus4, #G2ROOT or #andromadus on freenode IRC.
Changelog
2014-02-02
Rebased from Andromadus CM-11.0 to LegacyXperia CM-11.0
Credits
Plamen K. Kosseff for the original framework changes
Flinny for his huge work on the Andromadus roms and supporting me with my original development for the vision
pierre_ja, Nipqer, Hymie and all the others at #G2ROOT for their endless help and entertainment
and of course the LegacyXperia projekt
XDA:DevDB Information
Permission spoofing framwork - Xperia Pro - CM-11.0, ROM for the Sony Ericsson Xperia Arc
Contributors
guhl99, LegacyXperia
ROM OS Version: 4.4.x KitKat
Based On: CyanogenMod LegacyXperia
Version Information
Status: Beta
Created 2014-02-02
Last Updated 2014-07-06
Hi,
In my constant struggle to remove everything that involves the use of the closed source Google Play-Services from my devices I rewrote the PFF-GPSPath App.
Version 1.3:
- Switched to OpenStreetMap data using the MapQuest Android API
- Completely removed dependencies on Google play-services
Known-Issues:
- Draging Markers is not implemented yet
There is no functional improvement between version 1.2 and version 1.3 but it is all free!
Have fun - Guhl

[Kernel][ANDROID 10][20.02.2021][4.14.220] Kirisakura 1.0.1_R Asus Zenfone 6 aka Kirin

Kirisakura-Kernel for the Asus Zenfone 6
Hello everyone,
After rising to the most popular Kernel on Pixel 3/XL, here it is for the Asus Zenfone 6!
Kirisakura - Kernel is designed to bring a handful of beneficial features to the device, while ensuring excellent performance and smoothness to get you safely through the day!
This project aims to keep most of the subsystems updated, way ahead of the stock kernel, thereby improving security and performance, while keeping stability as the foucs during testing! This includes Linux-Stable, CAF-Upstream and kernel/common.
Kernel Control Flow Integrity (Kernel-CFI), which is achieved by linking the kernel with LLD and Link Time Optimization (LTO), more precisely ThinLTO, are quite unique security features. In fact this, alongside Kirisakura-Kernel for the OnePlus 8 Pro, may be (and probably is) the first 4.19 msm kernel with a fully working Kernel-CFI implementation and CFI-Violations fixed on a smartphone.
The only kernels made by OEMs offering this security feature are the ones for the Pixel 3, 4 and 5 devices.
The recently released Kirisakura-Kernel for the OnePlus 8 Pro was featured on the XDA-Portal due to the inclusion of CFI. The featured article explains CFI in great details, is easy to understand and definitely worth to read.
Another security feature is Shadow Call Stack (SCS). Similar to CFI, only the Pixel 3, 4 and 5 kernels use this security feature.
SCS is another security patchset that is aimed at preventing attacks via return oriented programming (ROP).
ROP is a technique where the attacker gains control of the kernel stack to overwrite function return addresses and redirect execution to carefully selected parts of existing kernel code.
If you´re interested here are a few good links:
Google Security Blog explaining SCS.
LLVM doc about SCS
Android DOCs documenting SCS
If reading about upstream in the paragraph above got you curious,have a read about Linux-Stable and why it is important here. The stable-process is not the same for every subsystem, but the general idea, rule of thumb and benefits are applicable for other subsystems as well.
Quick explanation of CAF-Upstream. CAF is short for Codeaurora-Forums. This is the place where development from Qualcomm for their SoCs happens. This includes the Snapdragon 855/+ that´s built into the different SKUs of the Zenfone 6.
The kernel-bases available on the Codeaurora-Forums, are basically the foundations OEMs use, to build their own kernel additions on top for devices featuring Qualcomm SoCs.
The Qualcomm developers push regular updates to the bases of the different SoCs, a bit similar to how Linux-Upstream works. OEMs usually stop updating the initial base after the phone is released.
This kernel focuses amongst the other features to provide the latest CAF-Updates merged in a regular manner, to provide updates, improvements and enhancements for SoC specific drivers and subsystems! This might take a while, because a lot of device specific testing is done on my end to ensure stability.
The kernel includes a lot of improvements and contributions from other developers as well. Without this kernel would not exist.
Many of the improvements originate from @arter97´s, @kdrag0n´s and @Sultanxda´s work. Many others contributed in some way or another to this kernel.
A big thanks to all of them at this place!
Now lets continue with a list of features in the next paragraph!
Main Features:
- Based on latest kernel sources from Asus for Android 11
- Upstreamed against latest CAF
- Linux-Stable-Upstream included to latest 4.14.220
- compiled with Clang 11.0.1 prebuilt from Google
- Link-Time-Optimization (LTO)
- Kernel Control-Flow-Integration (CFI) and Link-Time-Optimization (LTO) ported from 4.19 kernel/common
- Shadow Call Stack (SCS) Security-Feature
- Use ThinLTO which was first used in the Pixel 4 XL Android R-Preview Kernel instead of full LTO for full program visibility (needed by CFI)
- fix CFI-Violations found in various subsystems like Asus/device specific drivers and qualcomm drivers
- Link the kernel with LLD and use RELR-Relocation
- include important fixes/improvements from kernel/common
- Flashing the kernel will keep root!
- Anykernel zip is based on the all new Anykernel3 release from @osm0sis
- include vDSO 32 patches to improve 32-bit performance
- disable various debugging configs, that are not needed in a perf build kernel according to google.
- disable selinux auditing (we don´t have to adress selinux denials running a stock rom)
EAS related features:
- backported scheduler from sd865
- disable autogroups and use cgroups for more efficient task placement!
- disable core_ctl for improved task placement and load balancing
- updates from kernel/common
- scheduler updates from Googles Pixel kernel
CPU related features:
- Power saving workingqueues enabled by default (toggleable in EXKM)
have a read here: https://lwn.net/Articles/731052/
this complements EAS in general
- Change various drivers ( MM, audio) to user power efficient workingqueues. This should work well in conjunction with EAS
- include cpuidle patches from CAF
- improvements to cpufreq/times/stats
- improve memory allocations in binder driver
- vdso32 patches as found on Google Pixel devices (brief documentation here)
File System related features:
- Set the bio REQ_NOENCRYPT flag (When lower layers such as dm-crypt observe the REQ_NOENCRYPT flag, it helps the I/O stack avoid redundant encryption, improving performance and power utilization. ) (CAF default)
- improve memory allocations in sdcardfs
- improve eventpoll logging to stop indicting timerfd (improves kernel wakelock readability)
- improve memory allocations in kernfs
- writeback: hardcode dirty_expire_centisecs=3000 based on this commit
- ufs improvements from pixel 4/ pixel 5 kernel
GPU related features:
- KCAL to control the display
- KLAPSE integrated
- KCAL/KLAPSE: changes safety measures -> allow completely disabling two RGB values (this was requested to, for example, only have red values on night dimming)
Network related features:
- Wireguard Support (Details)
- advanced TCP algorithms enabled
- includes new bbr and bbrv2
Memory related features:
- Memory Management patches from mainline kernel
- Speculative Page Faults (1. 2)
- Fix various memory leaks in different subsystems
- Reap memory of a task that receives sigkill
- enabled per process reclaim
- allow ZRAM to use higher swappiness values than 100
- possibility to use lzo-rle as default ZRAM compression algorithm (more information here and there )
Security related features:
- Control-Flow-Integration (CFI) and Link-Time-Optimization (LTO) ported from 4.19 kernel/common and Pixel 4/XL Kernel
- Use ThinLTO which was first used in the Pixel 4 XL Android R-Kernel instead of full LTO
- Shadow Call Stack (SCS) Security-Feature
- fix various CFI-Violations found in various subsystems like Asus/device specific drivers and qualcomm drivers
- enable init_on_alloc for even more security, more information can be found in the commit message
WLAN Driver
- use CAF wlan driver and compile it inline, the only way to ensure working wlan with this kernel
- the kernel cannot even force load prebuild WLAN module as the kernel base is way to far from stock!
- do no longer rely on the pre compiled wlan driver module
- completely removed qcom_rx wakelock in the wlan driver
- removed debugging from wlan driver
- removed logging from wlan driver
Magisk Companion Module
- set kernel settings like I intend them to be
Misc Features:
Wakelock Blocker:
- advanced wakelock blocker with the ability to block any wakelocks (dangerous, use with caution)
- please read [URL="https://arstechnica.com/gadgets/2018/08/p-is-for-power-how-google-tests-tracks-and-improves-android-battery-life/"]this for further info
- blocking a kernel wakelock should only be done in case of firmware incompatabilities (WiFi network at work (can´t be changed) causes deep sleep to not work on the phone.) That´s the only use case I see for this feature. The kernel does not features this to improve battery life!
Other features:
- disable logging to make the kernel more lightweight in various places
- fix several coding issues detected by newer Clang-Toolchains
- add support for steam controller
- add support for nintendo switch controller
- ufs improvements from pixel 4/ pixel 5 kernel
- gpu/kgsl improvements from pixel 4/pixel 5 kernel
Feature section for the "non visible" but perceptible improvements:
- updated binder section (responsible for interprocess communication)
- updated sdcardfs ; have a read about it here:
Requirements
- unlocked Bootloader
- USB-Debugging in developer options enabled
- latest adb and fastboot binaries
- working adb and fastboot environment
- magisk root
How to flash the Kernel:
1. Download the latest kernel.zip
1a. Optional: While it may not be necessary all times, you may want to restore stock boot.img, re-root with magisk and optionally install twrp.zip if coming from another kernel. Before reporting issues make sure you do that! Thank you!
2. Make sure to use latest Magisk stable. (not the latest canary!)
3. Flash the kernel.zip via latest EXKM or FKM app. Alternatively via TWRP.
4. Reboot and profit.
DOWNLOAD:
Download is located always in this folder:
Downloads for : -Android- Generic Device/Other | AndroidFileHost.com | Download GApps, Roms, Kernels, Themes, Firmware and more. Free file hosting for all Android developers.
Download GApps, Roms, Kernels, Themes, Firmware, and more. Free file hosting for all Android developers.
androidfilehost.com
Important: Read after Download
Please take a look at the second post after flashing the kernel!
Changelog:
Android 9/Pie
1.0.0 Initial Release
1.3.0 https://forum.xda-developers.com/showpost.php?p=79852192&postcount=21
1.5.0 https://forum.xda-developers.com/showpost.php?p=79948337&postcount=36
1.6.0 https://forum.xda-developers.com/showpost.php?p=80037776&postcount=46
1.8.1 https://forum.xda-developers.com/showpost.php?p=80275065&postcount=58
3.0.0 https://forum.xda-developers.com/showpost.php?p=80712703&postcount=66
Android 10/Q
1.0.0_Q https://forum.xda-developers.com/showpost.php?p=81368413&postcount=73
1.0.3_Q https://forum.xda-developers.com/showpost.php?p=82387237&postcount=86
1.2.0_Q https://forum.xda-developers.com/showpost.php?p=83920653&postcount=92
Android 11/R
1.0.1_R https://forum.xda-developers.com/t/...sus-zenfone-6-aka-kirin.3940178/post-84526765
Donations:
Donations are not mandatory but very welcome if you want to support development or just buy me a coffee
If you like my work: http://paypal.me/freak07
Credits:
Asus for the Zenfone 6!
@osm0sis for all his work, including the ak2 installer!
@tbalden for being the best HTC wingman!
@LeeDroid for his awesome roms!
@Captain_Throwback for all the mentoring and guidance!
@Eliminater74 for bringing me into the game and the Inspiration
@nathanchance for his upstream guidance and assistance
@RenderBroken for helping me out
@flar2 for all his work
@joshuous for all the help he provided to me in the past!
@arter97 for giving me advice
@topjohnwu for magisk!
@osm0sis for anykernel!
XDA:DevDB Information
Kirisakura-Kernel, Kernel for the ASUS ZenFone 6 (2019)
Contributors
Freak07
Source Code: https://github.com/freak07/Kirisakura_Kirin
Version Information
Status: Stable
Mine for FAQ
Too
And too
Flashed it today and no problems so far.
Everything seems to work as intended
Freak07 said:
Mine for FAQ
Click to expand...
Click to collapse
Which RAM version do you have please?
Is the kernel for both?
EMJI79 said:
Which RAM version do you have please?
Is the kernel for both?
Click to expand...
Click to collapse
The 8GB version. RAM variant shouldn´t matter.
1. Does it have to be magisk stable or is canary (dev version) ok? I am asking because i need to use canary so my stupid pay app will not detect root.
2. This might sound stupid but what is magisk companion and where do i get it? I can not find it in the magisk modules repository or on xda and neither google.
2. This might sound stupid but what is magisk companion and where do i get it? I can not find it in the magisk modules repository or on xda and neither google.[/QUOTE]
It's in the downloads folder at the end of the afh link in the OP
isthisadagger said:
1. Does it have to be magisk stable or is canary (dev version) ok? I am asking because i need to use canary so my stupid pay app will not detect root.
2. This might sound stupid but what is magisk companion and where do i get it? I can not find it in the magisk modules repository or on xda and neither google.
Click to expand...
Click to collapse
jeremyet said:
2. This might sound stupid but what is magisk companion and where do i get it? I can not find it in the magisk modules repository or on xda and neither google.
Click to expand...
Click to collapse
It's in the downloads folder at the end of the afh link in the OP[/QUOTE]
1. you can probably use the canaries of magisk too. But keep in mind, they’re canary builds for a reason. If you’re having issues, flash to magisk stable and see if you can reproduce them.
2. Like @jeremyet said, it’s in the download folder in the OP
good job man
@Freak07: Cool, the first costom kernel for the Zenfone 6, thanks
I am still thinking of switching to the Zenfone 6, one feature I currently use a lot, is the "USB fast charge" : it makes a big difference, if I have my Smartphone for file transfer on my Laptop or PC, whether it charges in the background only with 500 mAh or with a little over 900 mAh on my USB 3 ports.
Does your kernel support USB fast charge / if not: will it be supported? (some custom kernels devs don't want to implement it, bacause it is not an official feature and "might" not work perfectly)
Coming from stock kernel, I got stuck at the Zenfone logo during reboot after the first flash with exkm. Volume down+power fixed that and after flashing a second time all seems to be working ? zram is at 684mb for my 6Gb variant.
Thank you a lot.
A quick question about the kernel source: Is there an API/kernel endpoint that can be used to query and manipulate the flip camera's motor? If so, is it something than can be accessed from userland? I was wondering if one might be able to write a shell script that can be used to send commands to it.
Does camera has OIS? I've seen OIS code in DTS
dmd79 said:
Does camera has OIS? I've seen OIS code in DTS
Click to expand...
Click to collapse
It's not the object of this thread.
There's a "ask me anything thread" in the discussions forum.
Flashing via EXKM will NOT work, if you’re on the latest magisk canary! (currently 19305!)
19302 is still working fine with EXKM, as is stable 19.3. Big changes in magisk are coming. we will have to wait for flar2 to find a new way of flashing zips.
Can this be flashed on the latest update or does it require an update from you? If not are there any downsides to it not being based on the most current kernel source code then?
Kind regards
regenwurm16 said:
Can this be flashed on the latest update or does it require an update from you? If not are there any downsides to it not being based on the most current kernel source code then?
Kind regards
Click to expand...
Click to collapse
Wait a bit. I’ll release an update soon. (hopefully later today) This will have latest asus sources merged.
I currently see 2 downloads for my kernel :cyclops: so I thought I can take it slow.
Testing was good so it should be ready for prime time stay tuned!
Thanks for your effort.
If think the two downloads are because of the scarce availability of the phone. I ordered mine on 5th of June on Amazon Germany the 6GB RAM 128GB ROM variant (only model they sell) and it took until 1st of July to get to me
I would have ordered on the Asus eShop but they don't ship to my country/don't have a shop for my country
Just take a look in the UK availability thread it's even worse there

[GUIDE][INDEX]How to modify an apk

How to modify an apk​
Intro:
I’ve done several threads about how to theme and other similar topics but the info is sparse, so this ultimate guide/index will seat proudly in the theme section of XDA and will be updated when new things come, and as I learn more. This isn’t a beginners guide, I’m here trying to be as complete as possible, with links, references, ...
This initial version of the thread isn't here to stay, if you could contribute to this thread, it would mean the world to me, and would clearly help the community (of course I'll mention you for your contribution )
And keep at mind that I’m just an enthusiast, nothing more, and that this thread has been made only by me, so it's far from perfect. If I made any mistakes or if you want to add something please let me know.
Legal aspect:
Using this knowledge to infringe copyright is not only illegal, it’s detrimental to the community. The only legal case, and the only usage of this info condoned, is using it to theme OPEN SOURCE apps (because most of the time, commercial apps forbid reverse engineering in their policies). So don’t worry, theming AOSP is legal. You can always ask the permission of the devs for an authorization to customize their apps, make sure to ask before modding, and distributing the result.
Now I’m not a lawyer, but you can learn more on the legal aspect of reverse engineering on this Stackexchange post.
Summary of this thread:
I-Requirements
II-Download APKs
III-Decompile
IV-What and how to modify
V-Recompile
VI-Sign and Zipalign
VII-Installing the apk
VIII-Other ways to theme your device
IX-Theming related topics
X-Not covered topics
XI-Mods Center
XII-Reserved​
I-Requirements​
A)Java:
It's essential, almost mandatory, the Java Development Kit (JDK) and Java Runtime Environment (JRE) must be installed to use java based tools.
How to install the JDK and JRE
(download and follow the instructions, it’s pretty simple)​
Then, set the path to "java home", you need to do that in order to use java properly within your terminal:
Here’s a tutorial I found​
To check if everything is okay, open a terminal anywhere and enter java --version. If it returns the version of the JDK and JRE you’re good.
B)Android SDK:
Unfortunately we aren’t able to download the Android SDK alone anymore, I used to consider it as a requirement, but now I don’t because some people don’t have the space to install the whole Android Studio IDE just to use the Android SDK.
C)Others:
I suppose that list is going to expand, those two above are the main ones, but if there's something else you need, I'll make sure to put it here
II-Download APKs​
This sounds stupid to take one whole post for that, but sometimes it’s a drag, so here are some ways you can grab the apk you want to modify.
A)APKs form your phone:​Every app you installed from the playstore is under /data/app. With a root explorer like the excellent MiXplorer, you can browse to it and see the icons representing the apps on your phone.
There is an apk called base.apk, that’s the one you want.
Sometime there might be parts called split_....apk along with base.apk, for the excraction of those you’ll need tools like the amazing app called SAI (Split APK Installer), it’s a graphical interface so I’ll assume you’ll figure out how to use it yourself
SAI on the Play Store​
B)From internet:​My two trusted sources I use: APK Mirror, XDA Labs (gone for now)
I also use this chrome module, it has simplified my life sooooo much, it’s provided by the APKmirror team: Toolbox for Google Play Store™
C)Your Sources:​If I missed any good and trusted website, let me know
III-Decompile​This is getting serious now.
If you want to modify the apk, you need to have what’s inside: the code.
A)Resources: Decompile Binary XMLs to Human-Readable XMLs:​We use APKtool for that, it decompiles the resources.arsc file to the res folder, and decodes binary XMLs to human-readable XMLs.
1-How to install APKtool:​How to install APKtool​
2-How to use APKtool:​There are 3 main commands you need to know about:
apktool d [nameoftheapk].apk​Used to decompile the apk. There are several options you can use with that command, they're specified in APKtool's documentation (in the credits).
apktool if [nameoftheframework].apk​Used to set the framework files to decompile properly APKs. Usually some OEMs add framework APKs into Android for their apps to work, so we need to find and copy them, then “install” them with the apktool if command to APKtool. You can learn more about that on APKtool's website (in the credits).
apktoool b [nameoftheapk].apk​Used to recompile the apk. The final apk can be found inside the decompiled apk’s folder, in a subfolder named dist. You can also use various options with that command (listed in the documentation, link in the credits).
B) Decompile Classes.dex to smali:​APKtool also convert classes.dex files to .smali files, but keep at mind that you won’t be able to see the java source code in those files.
The .dex extention is for Dalvik Executable, which is very self-explanatory, and is also a binary format. APKtool turn them into .smali files, which are Human-readable files, not in java, but still! And if you want to modify the code, you’ll have to learn smali. (covered in the next part, good luck with that lol)
C)Read java source code :​There’s actually a way to see the java source code of an Android app, using some tools:
JD-GUI (or any other java decompiler)
Dex2jar
First turn the classes.dex files into .jar files with this command using Dex2jar:
./d2j-dex2jar.sh -f -o output_jar.jar apk_to_decompile.apk​
(Execute the .bat if you’re on windows)
Quick explanation:
./d2j-dex2jar.sh: execute the dex2jar script
-f: replace the previous jar file named the same as output_jar.jar
-o output_jar.jar : set a name to the output jar file
apk_to_decompile.apk: name of the apk file you’re taking care of
Then read the jar file using JD-GUI (or any other java decompiler). It’s a quite simple software, lite weight, and you can download and run the java version without installing anything else.
Dex2jar isn’t updated anymore (since 2015), so there are errors when decompiling. You’ll be able to get a .jar file but it’ll be incomplete or not identical to the original one, that’s why this tool doesn’t allow one to modify java source directly. But you can get a great understanding of how this app works.
C) Nice tools from the XDA community:​• Tickle My Android (TMA) by @Ticklefish
A tool that ease the work with APKtool, amazing one!
• APK Easy Tool by @evildog1
Also works with APKtool, I don’t use it often, but it is great!
• Other tools:
Let me know
Credits, links for this part:
Stack Overflow Post
Documentation for APKtool
Another SO Post
@Rizal Lovins ’
" [Share Latest Apktool 4.2.2/Guide/Tutorial/] How to Decompile/Compile/Sign Apk/Jar "
@A_U ’s
" [GUIDE][HOW-TO] Decompile and Compile apps using Apktool in 5 Simple Steps "
IV-What and how to modify​This part is gigantic, I'll try to include as much link as I can, this part isn't supposed to stay like that very long, as it contains very few of the hundreds of guide about theming in XDA. Help me out by suggesting some links.
​A)Resources (XML):​​1-Tools​To edit XMLs you can use whatever text editor you want, but I’d recommend Visual Studio Code. It has solid plug-ins that may come handy to avoid mistakes when editing.
You can also sort of visualize XMLs with Android Studio's Layout Inspector.
You have to open the apk’s folder in Android Studio and browse to the desired xml. Opening the resource manager will aslo allow you to visualize the XML files to a certain extent, but it's not cristal clear (see the screenshot) so I don’t use that very often, but it’s good to know.
Spoiler: Screenshot
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
2-What’s xml​This subject is very long, you can learn a lot of things. Here are some links (increasingly detailed) to learn about XML:
A Post in [GUIDE] Want to learn how to theme? by @theimpaler747
Google’s "Guide" (very complete): that google link is about resources in general, so it explains XMLs but not only XMLs
A Reference for Codenames in XMLs
3-Modifications:​You can modify deeply the UI by editing XMLs, here are some guides to make you familiar with some techniques. Again this is a very vast field, it deserve a thread itself, and this list clearly isn"t finished. Here are my favourites ones:
XML 101 by @Ticklefish
[GUIDE][RES] Android Animation XML resources for Activity Transition by @niranjan94
Find the code you want to modify by @Raiz (Me lol)
[TUTORIAL] Where to find the colors for making a theme by @KBanause
[TUT][JB] HOW TO THEME SystemUI.apk for TOTALLY newbie! by @joehanh88
[Reference] Interactive Phone Modification [GUIDE] by @pstevep , this is AN ABSOLUTE UNIT OF INDEX!
[Tutorial][APP] PinP Shortcuts | How to Implement Picture in Picture Mode [API 26+] by @Geeks Empire
[Overlay] Enable Night Light, Auto-Brightness, Ambient Display & more on Treble ROM by @MishaalRahman
Let me know
4-Precaution:​When modifying apks, some errors can be very frustrating, yet very easy to fix. Here are some usual cause of struggle:
Not properly set JAVA_HOME
The tools used (like apktool.jar) aren’t chmod +x (aren’t allowed to be executed)
You have to add java -jar [command] before every .jar tools commands for it to run
Tell me, don't be shy
For every tool related bug, please refer to their GitHubs, sometimes you’ll find a solution by searching. And XDA threads are also plenty of answers! (and if you’re really not lucky maybe stack overflow can help).
B)Smali:​That’s a tough one. First, if you want my advice, editing them with Visual Studio Code and the smali plugin is way easier to find mistakes. There’s also a smali plugin for Android studio (and IntelliJ based IDE) made by Jesus-Freke, it is called smalidea.
Now I found one reaaallllyy awesome thread here on XDA about smali:
[GUIDE][SMALI]Understanding and Creating Smali Mods & General Smali Questions by @Goldie
Something else maybe? Tell me
This is my reference, I’m still learning smali tho, this list may be updated, but this thread is pure gold, go check it out!
Credit for this part:
Resources:
@Ticklefish , for XML 101 (but also for TMA), this is really one of my favourite thread on XDA
All the other members mentioned in the above list
Smali:
@Jesus-Freke , for his work on smali, baksmali (integrated in APKtool) and smalidea
@Goldie , for the amazing thread explaining smali
V-Recompile​You've done the hardest part, now what's left is repacking that thing together.
A)How to recompile:​It’s pretty simple, do it with apktool with this command:
apktool b [nameoftheapk].apk​You can add several options, here’s the full list.
The -c option to me is the most useful, because it allows to leave the signature unchanged for system apks. It’ll be deprecated soon (APKtool v2.6.0), so you’ll have to do the trick manually.
What -c (--copy-orginal) does: “Copies original AndroidManifest.xml and META-INF folder into built apk. Scheduled for deprecation.”
A bit of details, good to know:
“META-INF contains apk signatures. After modifying the apk it is no longer signed. You can use -c / --copy-original to retain these signatures. However, using -c uses the original AndroidManifest.xml file, so changes to it will be lost.”
And
“After [d]ecode, there will be new folders (original / unknown) in the decoded apk folder
original = META-INF folder / AndroidManifest.xml, which are needed to retain the signature of apks to prevent needing to resign. Used with -c / --copy-original on build
unknown = Files / folders that are not part of the standard AOSP build procedure. These files will be injected back into the rebuilt APK.”
Apktool uses aapt2, the tool used in Android Studio to compile your app. You can learn more on what it is here.
B)Troubleshooting:​First, remember that you can use aapt1 (used by default) and aapt2 when recompiling, try both if you run into some issues with the first.
If you have an issue with APKtool's dummy values, go on the Github Issue I opened, the problem is now solved.
Most common error, and simple to solve are the following:
-Name of the file not written correctly:​
Code:
brut.directory.DirectoryException: java.nio.file.NoSuchFileException: Firefoxr
Solution: The correct name is Firefox not Firefoxr, how dumb can I be?
​-Aapt errors: (here a folder isn’t recognized):​
Code:
W:invalid resource directory name: /Users/Raiz/Desktop/apktool/Firefox/res navigation
Solution: Use aapt2, the folders not recognized are because aapt1 (used by default) is older than aapt2, so if you see an error like this, use the option “—use-aapt2”
​-Xml Errors:​
Code:
W: /Users/Raiz/Desktop/apktool/framework-res/res/values/styles.xml:1185: error: Resource entry Theme.Holo already has bag item textEditSuggestionItemLayout.
Solution: These errors are quite easy to fix, just go to the file at the line mentioned then fix the error. Usually it a doubled line, a synthax error, …
Unfortunately APKtool isn’t able to correct string typos, it’s up to you to write in correct English (definitely struggling with that on my side lol).
For other more specific errors, copy/pasting the error message in the google search bar will most certainly redirect you to a Github error, or a post in The Official APKtool XDA Thread. You can find answers by searching, so search thoroughly before asking, it’ll save you some time.
And what is troubleshooting without
[UNIVERSAL][LOGCAT]How to get & read a logcat/ Troubleshoot your own issues!
by @Stryke_the_Orc​
Credit for this part:
APKtool issues on Github
The APKtool documentation
@iBotPeaches for this amazing tool
VI-Sign and Zipalign​
We must sign an app after having modified it, so it can be installed properly on our devices. System Apps MUST keep the same signature they had before modifying, or else the app will continuously force close, and it may even result in bootloops and other bad things.
To keep the signature take the META-INF folder from the not decompiled apk (browse it as a zip file) and put it in the newly recompiled apk (browse it as a zip file too, if there is already a META-INF folder, just replace it)
Links to build and platform tool:
Platform-tools: https://developer.android.com/studio/releases/platform-tools​Build-tools: Have to be downloaded from sdk manager in android studio​
A)Official way:​Tool used in the correct order:
1)keytool (included inside java)
2)zipalign from build tools (29.0.2 here, but use the latest )
3)apksigner from build tools (29.0.2 here, but use the latest) (+the lib folder containing apksigner.jar)
Where are build tools?
Mac: ~/Library/Android/sdk/build-tools/[your buld-tool version]/
Linux: ~/Android/sdk/build-tools/[your buld-tool version]/
Windows: C:/User/yourusername/AppData/Local/Android/sdk/build-tools/[your buld-tool version]/
Disclaimer: Using jarsigner is also possible (tool natively included in java jdk), if you use it, make sure you zipalign AFTER signing.
Make sure that apksigner (and lib) as well as zipalign are in the folder you’re apk is in.
Make sure they’re all executable (check that using chmod) and on mac os, make sure your terminal has full disk access (I had a hard time figuring this out lol).
​1-Generate keystore:​This is pretty simple, we’ll use keytool, at tool antively included in java jdk. We’ll need only one thing before using apksigner : the keystore.jks file (or a separate certificate and private key, but that’s more complicated)
keytool -genkey -v -keystore ~/Desktop/apktool/keystore.jks -alias Raiz -keyalg RSA -keysize 2048 -validity 10000​
Just replace the alias (here Raiz) by a familiar name, you have to remember it! (here’s why)
Also replace the name of the jks file (but not it’s extension, even though it can be .keystore, I had less issues with .jks)
Quick explanation of what does what in the command:
keytool : the command to use keytool obviously
-genkey : generate the keystore
-v : display verbose
-keystore : set the path to the future file
~/Desktop/apktool/keystore.jks : Path and name of the future file, you can call the keystore whatever you want to.
-alias Raiz : specify the alias used, it can be whatever you want, but remember it, it’s like a publisher name
-keyalg RSA : specify the algorithm used for the key, here it’s RSA (here’s a bit of history)
-keysize 2048: the size of the key in bits
-validity 10000: validity in days, here 10000 days
1*- Generate key.pk8 and cert.pem:​This is a quote from another thread (by @wilskywalker), this isn't necessary, but can come handy when signing zip, so I'll leave that here anyway.
You will need the following download:
OpenSSL [LINK]
[...]
Code:
openssl genrsa -out key.pem 1024
openssl req -new -key key.pem -out request.pem
openssl x509 -req -days 9999 -in request.pem -signkey key.pem -out certificate.pem
openssl pkcs8 -topk8 -outform DER -in key.pem -inform PEM -out key.pk8
Click to expand...
Click to collapse
2- Zipalign:​​./zipalign -v 4 firfox-mod.apk firefox-aligned.apk​Quick explanation:
-v : verbose
4 : align on 4 bits, putting another value will align the wrong way, just keep 4
firefox-mod.apk: name of the input apk, can be anything
firefox-mod-aligned.apk: name of the output apk, can be anything too
3-Sign the apk with apksigner:​
./apksigner sign --ks keystore.jks firefox-mod-aligned.apk​
Quick explanation:
sign: the command use to sign
--ks keystore.jks : specify the keystore file (the same one we generated seconds ago)
firefox-mod-aligned: the input apk (the one we just aligned), note that the apk will be signed and there won’t be any output apk this time
And you’re done, you can check that it has been properly signed with this command:
./apksigner verify firefox-mod-aligned​
Where firefox-mod-aligned is the apk signed we want to check
​3*-Sign the apk with apksigner using .pk8 and .pem files:​
./apksigner sign ---key key.pk8 --cert certificate.pem firefox-mod-aligned.apk​
Credits, links for this part:
How to sign an app (by Google)
apksigner documentation
keytool documentation
zipalign documentation
Stack Overflow post
@Rizal Lovins ’ Guide
B) Unofficial ways:​Some amazing devs and contributors at xda provided us with tools to sign with ease APKs (without having to think about all of that),I didn’t fully tested every one fo them, but you can try them as an alternative if the “official way” didn’t worked out well.
Here they are:
APK easy tool by @evildog1
APK Sign/Zipalign/Install by @aureljared
Uber APK signer (Github)
VII-Installing the apk​Your theme should be ready by now, but how do you want to install it?
There are several ways to get an apk inside your phone, I’ll go over the ones I think are the most common.
A)Regular apk install:​Just install it duh… (here you go if you need a little help).
B)Flashable zip:​I do recommend making flashable zips, because they’re pretty useful when installing modded system apps. So what is it?
1-Folders:​A flashable zip contains 2 folders: META-INF and a folder which will mimic the path to the apk we want to install. Inside that succession of folders, we’ll put our modified apk, and when flashing, the modded apk (inside the zip) will replace the original one inside your phone.
E.g: create system/priv-app/systemUI/systemUI.apk to install a modified systemUI.apk file by replacing the original one
Click to expand...
Click to collapse
E.g: create data/data/com.mixplorer/databases/data.db to replace the original data.db file inside this folder
Click to expand...
Click to collapse
Once you get those folders done (and the apk inside of it), it’s time to write the edify script that’ll flash the zip file.
2-Edify Script:​Edify is the language the script will be written in.
The file containing the script is located in /META-INF/com/google/android/updater-script (the name of the file is updater-script, naming it something else would make it ignored by your custom recovery)
Open this document with a text editor, and start coding!
We want to copy/paste the content of our zips onto the system (and replace files), so here’s the precise things we’ll do:
a-(OPTIONAL)Your “intro”:
Using the ui_print(" "); command, we can make some really cool looking ASCII art. You can write comments at whatever steps you want with this command, it’s pretty handy!
ui_print("Your Message here");​b-Mount the system partition:
​run_program("/sbin/busybox", "mount", "/system");​
c-Extract the content of the zip to /system:
package_extract_dir("system", "/system");​d-Unmount the system partition:
unmount("/system");​This is very basic, you can do so much more with edify script! Set the progress bar progress, set permissions to certain files, delete folders and/or files,...
3-Sign your zip:​You need to sign your zip after compressing it! The process looks like the one with key.pk8 and certificate.pem files, so I'll refere again to the same thread for that. (In the Credits)
I've covered the basics, now it's index time, you can go further with the links in the credits, and you can suggest me more!
Credits:
[WIP] How to Write an Updater-Script with Edify Code by @Karadorde
That one covers how to sign your zip:
[TUTORIAL] Making Flashable ZIPs, EDIFY Script, ZIP Signing & Key Creation [19.01.13] by @wilskywalker
My Very Own Script by Me
More Links:
[GUIDE] Create your own Flashable ZIP with custom updater-script and addon.d script by @Primokorn
[TUTORIAL] The updater-script completely explained by @KINGbabasula
Spoiler: Bonus
4-How to make a working progress bar​First “create” the progress bar that can go up to 100%
show_progress(1.000000, 0);​Then set the progress after each steps: (here I set it at 10%)
Code: set_progress(0.100000)​
C)ADB sideload:​Adb allows one to flash zips through command line using a custom recovery.
How to install adb​Now how to sideload an apk using adb:
Make sure your phone is plugged, and your PC allowed to use adb on your device. (the last steps of the guide I linked on how to install adb on your pc)
Reboot to recovery
For TWRP : Advanced → ADB Sideload For CWM : Install → Install Zip from Sideload
Code: adb sideload path/to/flashable.zip
And that’s it, congrats
D)Aroma Installer:​They’re very cool, yet I’m not really familiar with those.
This concept origins from XDA Inactive Recognized Developer @amarullz , and is used by the OpenGApps team for their Aroma package. Needless to say its work eased the task for many others, feel free to leave a thank on the threads:
Q’n’A about Aroma Installers: [Q&A] AROMA Installer - [Dev Move To DevDB]
Q’n’A about Edify and Aroma: (by @Dblfstr) Aroma, Edify, updater script Question and Answer thread
A tool to create them: [TOOL][3-10-13] Aroma App Package Creator v1.3.2 (by @commandersafi)
VIII-Other ways to theme your device​Making the whole apk is often long, and doesn’t leave much control over the theme to the user, alternative ways of theming let users control how they want the theme to be applied. Those 2 ways won’t be covered by me (as I don’t know enough about them yet), that's why, for this part, every input in welcomed
A)Magisk Modules:​This is now a pretty common and convenient way to distribute APKs and mods, so I had to cover it. Here’s a link to an official developer guide, it covers a good part of it, if you have an input, it is welcome!
https://topjohnwu.github.io/Magisk/guides.html​
B)Substratum Themes:​I don’t even need to tell you what is substratum, as it is pretty famous (along with Magisk), but let’s say you’re totally new.
Substratum is a theme engine that allows you to control what element of your system you want to be themed, and apply themes with the possibility of disabling theme at some point in time. So how to make a substratum theme ?
Links:
Video from the XDA chanel on YT
Another one from XDA on YT
Theme template form the official Substratum Github
IX-Theming related topics​All of the things I couldn't fit in the previous sections are here, make an input, I'll make sure to add it if it's relevant
A)Design Basics:​Now I don’t have especially fine taste in terms of designing, but I’m trying to learn!
Here are some links:
The Android Design Resources Forum in XDA
XDA Article about icon design
Material.io
Matrial.io YT channel
B)Boot Animations:​Here are some helpful threads and links:
[TUTORIAL]How to make your own boot animations (with sound if you want) by @despotovski01
[GUIDE] How To Make Bootanimation by @jackeagle
[GUIDE][TUT]make/Port any bootanimation|||USING VIDEO/FRAMES by @deathviper
C)Icon Packs:​[GUIDE]How to create icon packs for Go/Nova/Apex/Holo/ADW/LauncherPro/XperiaHome by @iamareebjamal
D)Port OEM Apps:​[GUIDE/TIPS] How to Port OEM Apps / Vendor Apps to Your Current ROM by @Rizal Lovins , this one is a wealth of information! really good and unique
D)Build.prop:​[Tweaks][Guide]Build.prop Tweaks by @bravonova
X-Not covered topics​Why don’t you talk about … ? That’s theming tho! And what about … and …? What is this thread!
I understand, these are legit claims, but I can’t cover everything. That’s where YOU come in play, you certainly know things that I don’t, so please, if you have any knowledge about something I didn’t mentioned above, please let me know!
I’m trying to make this thread as complete as possible, so I’d be very grateful if you could share a little about your knowledge .
Thank a bunch!
I know I already said that 10000000 times, but really, it would be awesome to have inputs!
XI-Mods and Wallpapers:​Let me take a tangent from the original purpose of this thread. This was supposed to be all about guides, but I thought about that twice and I think that's a good idea.
Basically, this here will list some of the amazing mods and themes around xda.
The goal here is to crack open those and see how they work, this would represent an immense work that I'm not able to take on right now, so I may leave links here, and you'll do the jobs of understanding how they work. Maybe at some point I'll write some here (with the credits of the OP of course!), but certainly not now.
Links:
Offline Google LLC App Wallpapers by @[email protected]
XII-Changelog:
For each update I'll bump this thread, so that you can enjoy latest links​04-01-2021 Update:
Happy new year! I went through my long list of watched threads, and found the gems I kept selfishly, they're yours now !
Added:
[GUIDE] Create your own Flashable ZIP with custom updater-script and addon.d script
[UNIVERSAL][LOGCAT]How to get & read a logcat/ Troubleshoot your own issues!
[GUIDE/TIPS] How to Port OEM Apps / Vendor Apps to Your Current ROM
[Tweaks][Guide]Build.prop Tweaks
[GUIDE]How to create icon packs for Go/Nova/Apex/Holo/ADW/LauncherPro/XperiaHome
[TUTORIAL] The updater-script completely explained
[TUT][JB] HOW TO THEME SystemUI.apk for TOTALLY newbie
[Reference] Interactive Phone Modification [GUIDE]
[Tutorial][APP] PinP Shortcuts | How to Implement Picture in Picture Mode [API 26+]
Offline Google LLC App Wallpapers
[Overlay] Enable Night Light, Auto-Brightness, Ambient Display & more on Treble ROM
Thanks for this, useful for sure. This is mostly on Windows. There's a way to do this directly on the phone ( most of it anyway).
I use an app called: Apkeditorpro.
I use version 1.9.10 cause i don't like the ui in the newer version.
In it you can :
-edit xmls directly.
-decode the smali and edit them, and view the java code and edit it with no extra tools.
-extract or replace files
-and rebuild the apk when finished. It'll show you a list of compile errors if any when building to review. If the build works it signs it and offers to remove old app and reinstall the new apk.
I found it very useful in editing theme overlays or add fonts in fonts tab in settings.
I am like you an enthusiast in all things modding. Still learning smali/ java editing. Hope we can learn together and from each other
Merry Christmas
Hi is it also valid for Xiaomi apk?
Braain said:
Hi is it also valid for Xiaomi apk?
Click to expand...
Click to collapse
Yep, it's valid for almost anything (any apk at least), feel free to ask here if you encounter problem, I'll do my best to help
Hi I started working with Riru-Enhanced mode for Storage Isolation and some mistakes I made now it's oky now I want to try to modify the handset apk because Xiaomi Redmi 7 is andro system android carefully
Raiz said:
04-01-2021 Update​
Click to expand...
Click to collapse
The First Update of this thread is out!, check out the post I quoted to see the list of threads I added, I also integrated them to the main guide (with proper credits), but I think making a list for each update more convenient for you readers.
I recommend to bookmark those thread or to watch them, because some are really amazing!
[QUOTE = "Raiz, post: 84227321, membro: 8020437"]
Il primo aggiornamento di questo thread è uscito !, controlla il post che ho citato per vedere l'elenco dei thread che ho aggiunto, li ho anche integrati nella guida principale (con i crediti appropriati), ma penso che fare un elenco per ogni aggiornamento più conveniente per voi lettori.
Consiglio di aggiungere quei thread ai preferiti o di guardarli, perché alcuni sono davvero fantastici!
[/CITAZIONE]
Great gems, indeed. Let me add this to the collection:
[Samsung only]How to modify stock font app (SamsungOne.apk, SamsungSans.apk, or Fondation.apk)
This post describes it using ApkEditorPro directly on the phone. It could work on other devices if you know what your stock font app is. It's a simple drag and drop your custom files in the right place.

Categories

Resources