Since Serajr 'one click' superuser mod only works on stock ROM, you have to use apktool to achieve the same on CM. Here's how you can do it on your phone. Only tested on official CM12 on Xperia Z1c, with a clean flash of /system, (unmodified), but probably can be applied elsewhere, maybe with some adjustment.
1. Follow steps 1 and 2 in this post, (except for the part about copying theme files) - http://forum.xda-developers.com/sony-xperia-z1-compact/general/tweak-theme-computer-t3279649 Note that the /system/framework/SemcGenericUxpRes/SemcGenericUx file is not present in CM ROM, so instead you would copy /system/framework/org.cyanogenmod.platform-res.apk. Also copy /system/framework/services.jar to the same directory.
2. Import the first 2 files as framework, according to step 3 in the link above, then tap on services.jar, and 'decompile all'. You will end up with a folder called 'services-src'.
3. Using a root browser and capable text editor, (I used Mixplorer and Jota+), follow instructions to mod PackageManagerService.smali file here - http://forum.xda-developers.com/showpost.php?p=62909773&postcount=4
Notes on this step: This file is over 60,000 lines long, which is why I specified 'capable' above. Many text editing programs won't handle it very well. Even if they can display it OK, you're going to need something that has a good search function, and copy/paste ability or it will be a big headache trying to do this on a phone. I found the first line to edit somewhere around line 8,700, by searching for 'compareSignatures'. The tutorial recommends using the word 'cannot' to help find the second one, but that didn't work for me. I used 'compareSignature' for that also, and just used the arrows to jump ahead through the search results until I found it.
4. Once the mods are made, save and exit. Then go back to apktool, and tap on 'services-src' folder and choose 'recompile'. You will end up with a file called 'services.apk'. All that is in the 'apk' is a classes.dex file. Use Mixplorer or RTB to extract the classes.dex from the apk. Then, with Mixplorer, go into your original services.jar, (that you copied into apktool folder), and delete the classes.dex file in there. Then go back to your new classes.dex, that you extracted from services.apk, and copy it into the services.jar. Using Mixplorer, you don't have to unzip/rezip or extract anything. Just long-press your new classes.dex, choose copy, then go into the jar just by tapping it, and then paste.
5. Move the new services.jar to /system/framework and reboot, (of course back up your original just in case).
The only way I know to test su mod is to attempt to use something that claims to require it, so I tested it with this - http://forum.xda-developers.com/cro...t-xperia-z5-systemui-particle-effect-t3206206 (the same thread as above). See screenshots for success verification.
very nice
Related
I'm looking for a guide which tells how to make a own custom ROM from another one
I mean:
1. How to add/replace/remove apps in /system/app/?
1. a) Do they need to have special permission?
2. How to replace boot screen?
3. How to add custom kernel?
4. How to add Desire lockscreen/flip clock?
5. How to add transparent notofication area?
6. How to add Power menu?
I've been serching forum, but didn't find such tutorial. Would be very thanful to get this knowledge.
I think that will be very useful for maaaany android maniacs
1. Simple delete/copy apks in .zip file using 7-Zip or any other.
2. I belive you need to put bootanimation.zip in /data/local/ folder.
3. Idk
4. For Desire lockscreen you need edited HtcLockScreen.apk; for flip clock - HtcClockWidget.apk
5. Edited /system/framework-res.apk or /system/framework/com.htc.resources.apk. I'm not sure
6. You need edited /system/framework/android.policy.jar
69. Resign your zip file using Auto Sign
Attachment doesn't load, but I know about resigning ROM after everything is done
Ad. 1. As I thought, but do the need special permissions? And I also wonder one thing. Are they installed while flashing? Cuz they need to be in system registry, I think...
I have found this: http://wiki.android.com.pl/wiki/Kon...iana_instalowanych_aplikacji_razem_z_systemem
No any permissions etc.
Found this, too. Thanks.
to add a custom kernel you have to unpack the boot image and edit the ramdisk manually, although i think there is an option in dsixda's kitchen to unpack and repack the boot.img
I've got two more questions:
1. When signing, three files are created in folder META-INF: CERT.RSA, CERT.SF, MANIFEST.SF. But in other packages I see also com/google/android/update-script in META-INF. How to make it? Is it necessary?
2. If I want to make only flashable update file which changes one app or another file, eg. framework-res.apk, I have to create folder structure: system/framework/framework-res.apk, add it to zip archive (no compression?) and sing using Auto-sing. Am I right?
Edit:
Found nice guide there: update-script syntax
tomekk_nt said:
I've got two more questions:
1. When signing, three files are created in folder META-INF: CERT.RSA, CERT.SF, MANIFEST.SF. But in other packages I see also com/google/android/update-script in META-INF. How to make it? Is it necessary?
2. If I want to make only flashable update file which changes one app or another file, eg. framework-res.apk, I have to create folder structure: system/framework/framework-res.apk, add it to zip archive (no compression?) and sing using Auto-sing. Am I right?
Click to expand...
Click to collapse
The most important part of a recovery update zip is the update script. It will tell the recovery what to do. If you want an example of a basic update package, which replaces one file in the /system/framework (although a different one) can found here. Open this and read the META-INF/com/google/android/updater-script (or whatever its called). The syntax is pretty straight forward and I think its easiest to learn from the examples of updater scripts found here on XDA. For the simple case, of only replacing/adding files to the /system partition you can leave the updater script from the above example as is and only change the files under the /system directory in the zip.
Note, that the above example uses the newer upader-script (I hope I am writing this correctly, I am writing from memory) which also has a binary file in the same directory. Some update zips use the older "update-script" lone text script. For these kind of scripts, you can find a guide here.
Personally, I use RA recovery, and for this recovery you need to sign the update zips (last thing you do of course). At least for RA recovery, both the older "update-script" and the newer "updater-script" work fine, so its up to your personal preference which do you prefer.
Thanks. Found a guide you mentioned a couple of minutes ago and read it.
The more I know, the more questions it brings So one more thing. If I'd like to use the newer version of syntax: "updater-script", I need also to put this binary file in this folder. But I create/edit only "updater-script", binary file is the same for all packages, or do I need to edit it, too?
I built a kernel tool long time ago, very easy to use (only for linux)
1: unzip the file, place it where you want it eg your desktop
2: place boot.img in the working directory
3: double-click the menu icon or launch from terminal
4: it creates a new directory named BOOT-EXTRACT,edit what you want in there or change the kernel etc.. and repack it again via the kernel tool
see screenshot. here for those how want the tool >>> http://www.elelinux.se/tools/kernel_tool.zip
Edit: Only for Hero
tomekk_nt said:
Thanks. Found a guide you mentioned a couple of minutes ago and read it.
The more I know, the more questions it brings So one more thing. If I'd like to use the newer version of syntax: "updater-script", I need also to put this binary file in this folder. But I create/edit only "updater-script", binary file is the same for all packages, or do I need to edit it, too?
Click to expand...
Click to collapse
Only the updater-script. The binary is a replacement of the script-interpreter I think, but thats just an assumption.
elelinux said:
I built a kernel tool long time ago, very easy to use (only for linux)
Click to expand...
Click to collapse
And that's a good reason to install newest Ubuntu Thanks!
riemervdzee said:
Only the updater-script. The binary is a replacement of the script-interpreter I think, but thats just an assumption.
Click to expand...
Click to collapse
That's mine assuption, too, but would like to know it for 100%
Edit: I see you use it in your kernel update package. So you write only updater-script and place also update-binary next to it?
LOL, you've got help from every well known hero dev on xda, I'm sure you'll have all the info you need now to start building rom's. Good Luck!
Found an app called Easy Flashable zip Builder on this thread. Will test it soon.
tomekk_nt said:
Found an app called Easy Flashable zip Builder on this thread. Will test it soon.
Click to expand...
Click to collapse
But it is for MS Windows, or saw I wrong ? I have also built a tool to javasign files,but should probably write a manual first,it is easy to use but some dependencies maybe not so easy for a beginner with Linux.
tomekk_nt said:
That's mine assuption, too, but would like to know it for 100%
Edit: I see you use it in your kernel update package. So you write only updater-script and place also update-binary next to it?
Click to expand...
Click to collapse
Correcto
I am trying to create a custom theme, by modifying the framework-res.apk. I have been successful in porting some really cool .png files, but my problems start with the de-compiling & recompiling the .apk so I can modify the .xml & .9.png files. It seems every time I recompile my .apk it sends me in to a boot loop. I have used both APKTool and APK Manager with no luck. Here are my steps:
APK Manager:
1. Use a root explorer to copy the framework-res.apk.
2. Paste the file on my sd card.
3. Copy the file and paste it in the "place-apk-here-for-modding" folder.
4. Choose option 9 for compile.
5. Open the .xml file with Notepad++.
6. Recompile .apk using option 11.
7. Yes to "is this a system file?"
8. Yes to "keep original files & signatures"
9. Delete the files I modified from the "keep" folder and the resources.ascr file.
10. Finish the build of the .apk.
11. Copy & paste the modified .apk back to my sd card.
12. Rename the file from unsigned-framework-res.apk to framework-res.apk.
13. Use root explorer to cut & paste the modified to my /system/framework folder.
14. Reboot.
I now end up in a boot loop what am I doing wrong??
Rockstar52 said:
I am trying to create a custom theme, by modifying the framework-res.apk. I have been successful in porting some really cool .png files, but my problems start with the de-compiling & recompiling the .apk so I can modify the .xml & .9.png files. It seems every time I recompile my .apk it sends me in to a boot loop. I have used both APKTool and APK Manager with no luck. Here are my steps:
APK Manager:
1. Use a root explorer to copy the framework-res.apk.
2. Paste the file on my sd card.
3. Copy the file and paste it in the "place-apk-here-for-modding" folder.
4. Choose option 9 for compile.
5. Open the .xml file with Notepad++.
6. Recompile .apk using option 11.
7. Yes to "is this a system file?"
8. Yes to "keep original files & signatures"
9. Delete the files I modified from the "keep" folder and the resources.ascr file.
10. Finish the build of the .apk.
11. Copy & paste the modified .apk back to my sd card.
12. Rename the file from unsigned-framework-res.apk to framework-res.apk.
13. Use root explorer to cut & paste the modified to my /system/framework folder.
14. Reboot.
I now end up in a boot loop what am I doing wrong??
Click to expand...
Click to collapse
You have to sign it with 12
Lenn said:
You have to sign it with 12
Click to expand...
Click to collapse
Tried it, still boot loops at the Archos screen. I then have to do a complete format & wipe reinstalling the SDK, firmware, and the root files. I don't get it.
Lenn said:
You have to sign it with 12
Click to expand...
Click to collapse
Do not sign frameworks! How many time do I have to say this! System apps do not get signed...
Now, as far as the framework, there's two things to check. First, what XMLs have you edited? Second, instead of using root explorer to copy the framework, connect to a pc and use adb to perform these commands:
Code:
su
stop
cp /system/framework/framework-res.apk /system/framework/framework-res.old
cp /sdcard/framework-res.apk /system/framework/framework-res.apk
chmod 644 /system/framework/framework-res.apk
sync
start
If it continues boot-looping, you will still be connected through adb, so you just
Code:
stop
cp /system/framework/framework-res.old /system/framework/framework-res.apk
sync
start
and it will come back up without having to reformat or anything.
If it's bootlooping even when you use the adb method to copy, then your XMLs must be reencoding incorrectly. Post a list of all XMLs you have changed.
msticninja said:
Do not sign frameworks! How many time do I have to say this! System apps do not get signed...
Now, as far as the framework, there's two things to check. First, what XMLs have you edited? Second, instead of using root explorer to copy the framework, connect to a pc and use adb to perform these commands:
Code:
su
stop
cp /system/framework/framework-res.apk /system/framework/framework-res.old
cp /sdcard/framework-res.apk /system/framework/framework-res.apk
chmod 644 /system/framework/framework-res.apk
sync
start
If it continues boot-looping, you will still be connected through adb, so you just
Code:
stop
cp /system/framework/framework-res.old /system/framework/framework-res.apk
sync
start
and it will come back up without having to reformat or anything.
If it's bootlooping even when you use the adb method to copy, then your XMLs must be reencoding incorrectly. Post a list of all XMLs you have changed.
Click to expand...
Click to collapse
I do have my system set up for adb, but for some reason it don't read my A101, it works fine for my phone. The device manager shows my A101 listed as a Gen8 ADB Device, but it don't show up when i use the command: adb devices.
With your help I did manage to replace all of the stock .png's. I also found that I don't need to edit the .xml files to do what I want to. Thanks, for so much of your help! Although I would like to replace the .9.png's also and I understand that you must de-compile the .apk in order to do so. this way I could build a custom theme.
Rockstar52 said:
I do have my system set up for adb, but for some reason it don't read my A101, it works fine for my phone. The device manager shows my A101 listed as a Gen8 ADB Device, but it don't show up when i use the command: adb devices.
With your help I did manage to replace all of the stock .png's. I also found that I don't need to edit the .xml files to do what I want to. Thanks, for so much of your help! Although I would like to replace the .9.png's also and I understand that you must de-compile the .apk in order to do so. this way I could build a custom theme.
Click to expand...
Click to collapse
Have you done this yet(from the archos support site):
Windows: echo 0x0e79 >> "%USERPROFILE%\.android\adb_usb.ini"
Macos: echo "0x0e79" >> ~/.android/adb_usb.ini
Linux: echo "0x0e79" >> ~/.android/adb_usb.ini
And disabled/reenabled debugging on the tablet?
msticninja said:
Have you done this yet(from the archos support site):
Windows: echo 0x0e79 >> "%USERPROFILE%\.android\adb_usb.ini"
Macos: echo "0x0e79" >> ~/.android/adb_usb.ini
Linux: echo "0x0e79" >> ~/.android/adb_usb.ini
And disabled/reenabled debugging on the tablet?
Click to expand...
Click to collapse
No but I will give it a try and report back.
None of my changes are taking effect??!
Still not working, just a question. I am running Win7 64bit could this be the problem?? Do I need to be on a 32bit system to do the decompiling, compiling?
Tried on my wife's 32bit system still the same. For some reason it's not compiling the .apk right.
Rockstar52 said:
I am trying to create a custom theme, by modifying the framework-res.apk. I have been successful in porting some really cool .png files, but my problems start with the de-compiling & recompiling the .apk so I can modify the .xml & .9.png files. It seems every time I recompile my .apk it sends me in to a boot loop. I have used both APKTool and APK Manager with no luck. Here are my steps:
APK Manager:
1. Use a root explorer to copy the framework-res.apk.
2. Paste the file on my sd card.
3. Copy the file and paste it in the "place-apk-here-for-modding" folder.
4. Choose option 9 for compile.
5. Open the .xml file with Notepad++.
6. Recompile .apk using option 11.
7. Yes to "is this a system file?"
8. Yes to "keep original files & signatures"
9. Delete the files I modified from the "keep" folder and the resources.ascr file.
10. Finish the build of the .apk.
11. Copy & paste the modified .apk back to my sd card.
12. Rename the file from unsigned-framework-res.apk to framework-res.apk.
13. Use root explorer to cut & paste the modified to my /system/framework folder.
14. Reboot.
I now end up in a boot loop what am I doing wrong??
Click to expand...
Click to collapse
With ApkManager did you delete the 'public.xml' folder in ..\res\values ?
waterpolo said:
With ApkManager did you delete the 'public.xml' folder in ..\res\values ?
Click to expand...
Click to collapse
No, I did not. Was I supposed to?
EDIT: Ok I did some digging and what I have found is that the file size of the original framework-res.apk is 9.32mb. Once I rebuild it whether I modified anything or not the rebuilt .apk is only 7.34mb. Upon further inspection it seems to leave out all of the "value" named folders from the newly built .apk, and it does this whether I use APKTool or APK Manager(even though I say keep files). Has anyone else had this problem?
IM having the same problem,no solution though ! i edited bools.xml but after recompiling its not there ! Anyone solution ?
When I am not traveling, I have wifi coverage at work and home, and I turn off the cell radio of my Note tablet to conserve battery use. The easy way is to enable Airplane mode, and then turn on wifi. However, you would have a persistent airplane icon showing up in the status bar. This thread will provide instruction on how to remove that icon.
First, I should acknowledge this thread for posting the general approach, which I modified to work specifically for the Note 10.1 (2014) with TW-based rom.
1. Your tablet must have root access, and a root file browser. I use ES File Explorer.
2. Browse to /System/priv-app, copy the file 'SystemUI.apk' and paste it in another directory (e.g., Document folder)
3. Transfer the file to a Windows computer
4. Open the file with Winrar, do not extract. Just browse the content within Winrar.
5. Go to /res/drawable-xhdpi, look for the "stat_sys_signal_flightmode.png" file. Delete this file within Winrar.
6. Exit Winrar. It automatically save the file (SystemUI.apk). Transfer it back to the Note tablet (e.g., Document folder)
7. Use ES File Explorer, copy the (new) SystemUI.apk to "/System" folder ***(NOT the "/System/priv-app" folder)
8. Once inside the /System folder, change file permission of SystemUI.apk to rw- r- r- (R/W for owner, R only for Group and Other)
9. Move (Cut and Paste) the SystemUI.apk file from "/System" folder to the "/System/priv-app" folder
10. Restart, and you should see the little Airport icon gone forever. (Airplane mode on/off still functions normally)
This method has been tested on the xKat rom by hanspampel. However, it should work on stock other deodexed TW roms with root, since the systemUI.apk location and the way it defines the status bar icons are the same.
PS. On the web, some suggested that ROM Toolbox Pro offers the function to modify the status bar icons. I have tested that and I did NOT work at all. As far as I know, the above the only method that works at the moment.
[Update] This method does NOT work on stock ROM, as the apps are still odexed. So you couldn't just replace the SystemUI.apk with a new one by overwriting.
[Update 2] I got it to work with stock Roms, by taking a SystemUI.apk file from a deodexed TW rom (like the xKat ROM from hanspampel), and modifying it (deleting the png file). Finally, I removed also the SystemUI.odex (from the stock ROM) before overwriting the System.apk with the modified one (from deodexed ROM).
Like some people, I got really annoyed with the huge mouse cursor that appears when using the stylus in custom ROMs. After some tinkering, I finally found something that works.
DISCLAIMER: Try at your own risk. Bootlooping may occur, but can be easily solved by just flashing your current ROM over it. Still, make backups just in case.
Extract framework-res.apk from your current ROM (under /system/framework)
Use apktools to decompile it (this is a good tutorial http://forum.xda-developers.com/showthread.php?t=2213985)
Edit pointer_arrow.png under /res/drawable-mdpi using either GIMP or powerpoint to whatever you want your cursor to be (make sure you keep the same dimensions. I just replaced mine with a ridiculously small dot)
Use apktools to compile it back, BUT DO NOT SIGN IT (as what the tutorial says)
Open the original and newly compiled framework-res.apk in 7zip, and copy over META-INF and androidmanifest.xml from the original to the new one
Copy the newly compiled framework-res.apk to your phone, and change permissions to rw-r-r (found that it's better to move it to your root folder before changing permissions)
Replace the existing one with the new one
Reboot
Hope this helps!
Hi guys, i really love the 3Min battery Mod from @gharrington Tyvm bro. There is a lot of threads of how to make it yourself but i think most of them are not too detailed and cover everything. So since i use these instructions my self i thought of sharing them in case someone may benefit from it.
Preparation: :
1. Download the latest BatchApkTool .
2. Tools needed and how to extract System.img.
3. Recommended tools needed: Notepad ++, 7zip or Winrar
Instructions::
A.
1. Download the latest BatchApkTool unzip it and move the need files to their designated folders explained in the next step.
2. We need to get SystemUI folder and framework folder(Inside it Framework_res.apk and arm64 folder is needed) either from a System.img in that case use the guide in the preparation section on how to extract it or import them from your device using any file manager with root.
3. Put SystemUI folder in _priv-app folder, and framework folder in to _framework folder.
B.
Open BatchApkTool select your language make sure that all the settings match your rom, enter the following numbers for changes:
83. Smali(By default it's the latest "2.2 latest when writing this" so just check it in case)
84. Api level: ------------- select 23( for Marshmallow)
85. Apktool(By default it's the latest stable version "it was 2.2.0 when writing this" just make sure it is)
C.
1. Under Smali section select '01 Deodex all apks and jars'(In case your rom isn't deodexed yet if it is skip this step). If your rom is stock then your SystemUi.apk needs to be deodexed for this to work. (For Nexus 6p select Arm64 when asked)
2.Under Smali section select '02' to move the deodexed files to _Input_Apk folder.
*Make a backup of META-INF folder and AndroidManifest.xml after extracting them from the deodexed SystemUI.apk file using Winrar or 7zip.
3.Under ApkTool section select '1' to decompile Apks.
4. After that go to _Input_Apk folder and open the decompiled SystemUI folder, navigate to res/layout/system_icons.xml and open with notepad ++
5. Find:
Code:
android:layout_width="9.5dip"
and
Code:
android:layout_height="14.5dip"
Note: These values may not be an exact match, doesn't matter
Change both values to
Code:
android:layout_width="0.0dip"
and
Code:
android:layout_height="0.0dip"
6. Hit enter and directly underneath that line add the following:
Code:
<com.android.systemui.statusbar.policy.MinitBattery android:layout_width="wrap_content" android:layout_height="wrap_content" />
7. Save your work and close notepad ++
8. You now need to navigate to smali/com/android/systemui/statusbar/policy folder
** Download the latest Modfiles package(3MinitBatterySettings, MinitBatteryResources, 3 Smali files) needed from here or main website.
9. Copy the 3 smali files(files that end with .smali) into that policy folder.
10. Time to recompile the SystemUI.apk. Under ApkTool section select '3 recompile apks' in Batchapktool.
11. Once recompiling of SystemUI.apk is complete go to it in _OUT_APK you will find it there, open it with 7zip or Winrar and Don't Extract.
12. Delete META-INF folder and AndroidManifest.xml from newly recompiled SystemUI.apk and replace them with the original backup we took in step C.2.
13. Download the 3MinitBattery_Template1.zip(will remove original SystemUi.apk and replace it) or 3Minit_Battery_Template2.zip(Will not remove the original SystemUi.apk and will leave it for you to remove it manually in case you want to back it up).
14. Use one of the template zips then open it don't extract it just open it with Winrar or 7zip and drop 3MinitBatterySettings, MinitBatteryResources that we got in step C.8 to their respective folders in the zip file. Drop the newly recompiled SystemUI.apk to SystemUI folder if you choose template 1 and if you choose template 2 put it in priv-app folder.
P.s: If you choose template 2 after flashing it go to system/priv-app/SystemUI folder in your device and with any file manger with root delete SystemUi.apk after you back it up to where ever you choose then reboot the device.
15. After this make a backup of your rom and flash the zip.
16. To use 3minBattery app open it and choose your customization then reboot you should see the changes after that. Good luck! :good:
Credits go to:
- @gharrington for his Mod&Guide.
- bursoft for Batch ApkTool.
- @bdorr1105 for his Thread.
- https://androidmtk.com for the Guide&Tools.
Awesome tutorial.. I am looking to add it into a modified stock rom for a Samsung tablet that I have.. Do you know of any easy to follow tutorials for that? i am very new to this part of android..lol.. i am usually on the flashing end and now i am trying to help out for this tab because it has no custom roms until mine. Again, awesome tutorial.
glockman4519 said:
Awesome tutorial.. I am looking to add it into a modified stock rom for a Samsung tablet that I have.. Do you know of any easy to follow tutorials for that? i am very new to this part of android..lol.. i am usually on the flashing end and now i am trying to help out for this tab because it has no custom roms until mine. Again, awesome tutorial.
Click to expand...
Click to collapse
Ty much appreciated. It has been a while since I created this thread since then I have stopped using this mod because it's kind of a headache to do it for every update add to that since Google already enabled the battery percentage inside the battery there was no need any more for the mod. Anyway it's still great to be able to change from time to time. Regarding the tutorial I am sorry to say I haven't tried to create a custom ROM so I can't help you much with that but I am sure there are a lot of tutorials but will require some time to search. Good luck with your project.