[DISCONTINUED][GUIDE] Adding PIE Controls to ROM [4.0+] - Android Q&A, Help & Troubleshooting

PIE Controls in 4.0+ ROMS
{
"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"
}
In this guide i will be telling you how to implement PIE Controls in any ICS or above roms!!
Click to expand...
Click to collapse
Requirements:
Code:
* Apktool or anyother tool to decompile/recompile apks
* [URL="http://forum.xda-developers.com/showthread.php?t=1330150"]LMT Launcher[/URL]
* Settings.apk
Step 1:
Decompile your settings.apk and your LMTLauncher.apk as well.
Step 2:
Inside of the decompiled LMT launcher, open the AndroidManifest.xml file and delete the below line. Now save and exit.
Code:
<category android:name="android.intent.category.LAUNCHER" />
Step 3:
Navigate to the res->xml folder inside of your decompiled settings apk and open the settings_headers.xml file.
Paste the code below where you feel fit.
I have chosen to place the code under the "<intent android:action="com.android.settings.MANUFACTURER_ APPLICATION_SETTING" />" line.
Code:
</header>
<header android:title="@string/navigation_settings" />
<header android:id="@id/pienav_settings" android:title="@string/pienav_label">
<intent android:targetPackage="com.android.lmt" android:action="android.intent.action.MAIN" android:targetClass="com.android.lmt.LMT" />
Step 4:
Navigate to the res->values folder inside of you decompiled settings apk and open the strings.xml file.
Paste the following code at the bottom of the file above the "</resources>" line.
Code:
<string name="navigation_settings">Navigation</string>
<string name="pienav_label">Pie Controls</string>
Step 5:
Navigate to the res->values folder inside of you decompiled settings apk and open the ids.xml file.
Paste the following code at the bottom of the file above the "</resources>" line
Code:
<item type="id" name="pienav_settings">false</item>
Step 6:
Recompile the apks!!! Probably you wont get any errors!! If so post your errors i will try my best to help you out!!!
Step 7:
You may need to sign your LMTLauncher.apk as you have modded the AndroidManifest.xml file but no need of Settings.apk!!
Step 8:
Create a flashable zip and flash it!!! Using adb or using root explorer to replace apps may not work at times!!!
Credits:
Code:
* Xda
* Google

Related

[GUIDE][ICS]Use PNG Images as Notification Background for Stock / Stock Based ROM

Now here's tutorial on how to put any PNG image as notification pulldown background..
Here I'm using lidroid's modified SystemUI, should work on other stock based SystemUI
First you need to decompile your SystemUI.apk
Open res/values/drawable.xml with any good xml editor (here I'm using NP++)
Delete this line:
Code:
<item type="drawable" name="notification_tracking_bg">#xxxxxxxx</item>
the #xxxxxxxx value maybe vary in each ROM, just delete the whole line )
Save
Prepare your desired .png file, can be opaque or transparent, and can be in any size/dimension (the system will resize it to match the screen)
Rename it to notification_tracking_bg.png and put it in res/drawable-hdpi
Recompile your SystemUI.apk, push to your phone and you are.......
Done !!
The result will be looked like these :
{
"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"
}
Remember to
ALWAYS MAKE BACKUP !!
before doing anything above..
I don't responsible of any negative things like bootloop, bricked device, burned SD card, you late to go to school, or the third world war caused by the guide above..
You have been warned !!
Click to expand...
Click to collapse
Good luck..
iiandskater said:
Now here's tutorial on how to put any PNG image as notification pulldown background..
Here I'm using lidroid's modified SystemUI, should work on other stock based SystemUI
First you need to decompile your SystemUI.apk
Open res/values/drawable.xml with any good xml editor (here I'm using NP++)
Delete this line:
Code:
<item type="drawable" name="notification_tracking_bg">#xxxxxxxx</item>
the #xxxxxxxx value maybe vary in each ROM, just delete the whole line )
Save
Prepare your desired .png file, can be opaque or transparent, and can be in any size/dimension (the system will resize it to match the screen)
Rename it to notification_tracking_bg.png and put it in res/drawable-hdpi
Recompile your SystemUI.apk, push to your phone and you are.......
Done !!
Good luck..
Click to expand...
Click to collapse
First I like your guide and i tried to do follow that, but i need your help. Can you explain more cleary, i used apk manager to de-compile systemui.apk then copied to sd and used Root explorer to move it to system/app and set permission 6-4-4 and then reboot phone, But when the phone started, i lost my notification and got alert mess com.adroid.systemui stopped. Force close
p/s sorry for my poor english

[TUT] compiling and decompiling for noobs

Hey Guys.....
I faced some problems and issues while compiling and decompiling apks.
I am using stock ics 4.1.b.0,587. So to compile you have to use following tools.
Files Required:
framework-res.apk
SemcGenericUxpRes.apk
SystemUI.apk
Note that you type correctly in command prompt window.
Softwares Required:
ThemeTool
Link:
http://forum.xda-developers.com/showthread.php?t=1374394
Thanx to XperienceD for this awesome guide.
Follow this guide for java path etc.
MediaFire Link:
http://www.mediafire.com/?tkjxk94yklm2rdu
Apk Manager r5
MediFire Link:
http://www.mediafire.com/?708sbbr0b7d5pbr
Now step by steps..follow these
Place apk in themetool folder.
Open command prompt from theme tool folder...Click Shift and right mouse click.
View attachment 1629889
Now ,
Enter commands
apktool if framework-res.apk
apktool d framework-res.apk
apktool if SemcGenericUxpRes.apk
apktool d SemcGenericUxpRes.apk
apktool if SystemUI.apk
apktool d SystemUi.apk
{
"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"
}
Our files are added to system.
Now we will use apkmanager to decompile and edit apks and then again compile/build apks.
Open Script window from apk manager.
Enter 22
Select your current project i.e 1 (for framework-res.apk)
Enter 9
It will decompile Framework-res.apk
repeat above for other two apks.
Now we have to edit our decompiled files that are present in project folder.
Select any folder i.e systemui.apk
then edit as you like.
Now See that your current project is set to the one you are modding.
Enter 11 to build apk
Enter y & y....
After that a keep folder will be created by apkmanager ....delete files that you have replaced(i.e original files are shown ,delete them .dont delete any xml file you edited,only delete icons,images etc & also delete resources.arsc from keep folder)
Press Enter.
All done.
Your new apk will be named as UnsignedSystemUI.apk..Note that dont sign or anything else for system apks. otherwise you will get problem i.e bootloop or other.
Copy your apk to sdcard and move to system/app....set permissions.
Reboot & enjoy.
For framework files,if you moded,do adbpush.
Hit thanx if i helped you.

[MOD][TUT] Add ROM version into Settings with Build.prop control

With this mod, you can add an item about the version of your rom, making it editable from the build.prop.
What you need:
-Apktool
-Settings.apk
-A text editor
-Notepad++ recommended
Let's begin!
Open command promot and move to your Apktool's folder. Then, type this:
Code:
apktool d Settings.apk
{
"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"
}
When the file is decompiled, go to Settings/res/xml, find and open (with Notepad++) device_info_settings.xml.
In device_info_settings.xml, find the line wich begins:
Code:
<Preference android:title="@string/mod_version" android:key="mod_version"
or if it's a PAC rom, line could begin with:
Code:
<Preference android:title="@string/mod_version" android:key="mod_version"
Add before (preferred) or after this line (depends if you want to see your rom version before or after of Cyanogenmod Version):
Code:
<Preference android:title="@string/rom_version" android:key="rom_version" android:summary="@string/rom_version_default" style="?android:preferenceInformationStyle" />
The file should look like this:
Save and close the file.
Now go to Settings/res/values and open strings.xml.
Go at the end of file (before </resources>) and add these two lines: (replace Your_ROM with your rom name)
Code:
<string name="rom_version">Your_ROM version</string>
<string name="rom_version_default">Unknown</string>
Final result will be this:
Save and close.
For other languages, procedure is identical but instead to go to res/values, go to res/values-** (**=language). For example, for italian translation, go res/values-it instead res/values and change from "NextCyan version" to italian translation or rather "Versione NextCyan".
We have just added a item into Settings--> About device. Now we have to create support for changing the version from build.prop. And here perhaps comes the hard part.
Go to Settings/smali/com/android/settings/DeviceInfoSettings.smali
Now press Ctrl+f and type "mod_version" or "cm_version" in case it's a PAC rom.
In various results, look for lines similar to these:
Select lines from .line XX to .line XY, where is contained "mod_version" or "cm_version" as follows:
Copy the lines (Ctrl+C).
Now, if you have added the line before "Cyanogenmod version" (into device_info_settings.xml) open this spoiler
Paste the code (Ctrl+V) above .line XX (in my case above .line 94) and make some empty lines, like this:
In new lines, you need to replace "mod_version" (or "cm_version") with rom_version.
The second thing to do, is edit the line to write into the build.prop, then edit "ro.cm.version" to "ro.rom.version".
else, if you have added the line after "Cyanogenmod version", open this
In this case is needed to paste the code before .line 96 (for me) and making some empty lines, you'll see this:
In new lines, you need to replace "mod_version" (or "cm_version") with rom_version.
The second thing to do, is edit the line to write into the build.prop, then edit "ro.cm.version" to "ro.rom.version".
Save and close the file.
Come back to the main folder, where's place apktool and type:
Code:
apktool b settings
Now, with WinRAR/Winzip/7-Zip, extract Settings.apk in a folder called Settings-new.
Go to Settings/build/apk and copy all files and folders and paste them into Settings-new folder replacing old files.
Compress all content of Settings-new folder...
...and rename from Settings-new.zip to Settings.apk --> File Ready
Screen of build.prop
Screen "About device"
Sorry for my bad english (x100)
Tested on:
-Samsung Galaxy S Advance
-Samsung Galaxy Mini
Click to expand...
Click to collapse
Credits:
[email protected] for test it on Galaxy Mini
Click to expand...
Click to collapse
Reserved Just in case
Reserved2

[TUT] Debugging apps Via VS 2013 and Visual GDB

Maybe there is some clever people that wants to debugg with the VS debugger.
Here is an small guide debugging the psx app
Normally i use Ida Pro but this works also.
Download visual studio 2013
then visual gdb http://visualgdb.com/download/
Download Strongname helper https://anonfiles.com/file/0d112810bd62abe748957ae142402211
Download app
1) fire up StrongNameHelper4ANDROID
Drag apk into right posision
{
"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"
}
press decompile
2) If we rebuild it the gdb debugger wont debugg since the apk have no debugg flags we have to set that before rebuilding it.
open the decompiled folder an locate the manifest.xml
edit manifest.xml and put in the debug flag
Code:
<application android:debuggable="true" /application>
like this.
Code:
<application android:theme="@style/AppTheme" android:label="@string/app_name" android:icon="@drawable/drawable_launcher" android:name=".CustomApplication" [COLOR=#ff0000]android:debuggable="true"[/COLOR] android:allowBackup="true" android:largeHeap="true">
<activity android:name=".activity.DebugMainActivity" android:exported="true" android:screenOrientation="portrait" />
3) we have to put gdbserver in the app also.
ill upload it here.
put it in the decompile app.
com.scee.psxandroid\build\apk\lib\armeabi\gdbserver
com.scee.psxandroid\build\apk\lib\mips\gdbserver
com.scee.psxandroid\build\apk\lib\x86\gdbserver
com.scee.psxandroid\build\apk\lib\armeabi-v7a\gdbserver
3) back to the StrongNameHelper4ANDROID
Press sign
The tool creates an com.scee.psxandroid-crk.apk
Now this is important !!!
Drag the crk-apk into the StrongNameHelper4ANDROID
Then press sign for debug.tool creates com.scee.psxandroid-crkSigned.apk
Not sure why but it only gets signed correctly this way.
ill upload my debugg ready with gdbserver APK here also.
4) Fire up visual studio 2013
Remember to install visual gdb first.
WE now have a new tool
5)press debugg an custom APK file
It will ask you to install some tools the debugger need but when your done it would look like this
Set the shared library to the decompile folder \lib
6)
Now we can choose wich part we want to start debugg.
I find CompanionUtilConnectingActivity interesting so we try this, i see there is also Second screen
7) press debug and wait for an minut
It woul be here we would get alot off errors about the manifest.xml and gdbserver but we fixed that.
8)
Connected
Hit the Break (pause)
Now you can set break points and wait to it hits or step 9
9) Use the phone here
connect to console with the app when it does hit break, then set the break point where it connect to console.
then run them to courser.
ITs pretty extended and you can get a ton off info from the debugger
Regards
app_with_debug_manifest_and_gdbserver.rar
https://anonfiles.com/file/05aac478549663ab46ae0b92d305de75
LOL i noticed after i made the thread it was suppose to go here >>> Android Software and Hacking General [Developers Only] :fingers-crossed:
Working Very nicely

AndroidManifest Error (No resource identifier found for attribute resizeableActivity)

I am trying to hack a game called MilkChoco - Online FPS. I can confirm that this game uses "xigncode" to block hacking tools such as Lucky Patcher, Game Killer etc... I am so close to hacking this game by removing xigncode detection but at this very last step, I am having problems. Let me describe what I've done (the modifications) and the problem at the end.
1) I decompiled the .apk with apktool.
{
"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) I go to the folder with all xigncode related files.
C:\Users\Dell\Desktop\apktool\MilkChoco_1.3.4\smali\com\wellbia\xigncode
3) I use Notepad++ to go to the above directory and search the following
.method public initialize(Landroid/app/Activity;Ljava/lang/String;Ljava/lang/String;Lcom/wellbia/xigncode/XigncodeClientSystem$Callback
4) I double clicked on the result to directly go to that file. This is what appears.
5) I simple added this to the .prologue line so that it appears like this.
.prologue
const/4 v0, 0x1
return v0
I believe this will remove xigncode detection. This is all I did with the modification for the .apk file. If I'm wrong that this will not remove xigncode detection, please let me know.
6) I save the file and recompiled the app. However there is this error.
C:\Users\Dell\Desktop\apktool\MilkChoco_1.3.4\AndroidManifest.xml:9: error: No resource 'resizableActivity' in package 'android'
Here is the full display of the error.
I did some google searches for 'resizableActivity' but couldn't find anything useful. Here is the ORIGINAL AndroidManifest.xml when I decompiled the apk.
As you can see in Line 9, 'resizableActivity' is mentioned. Lacking my knowledge, is there any error in the above screenshot, especially in Line 9?
I did these changes to the line. The first two doesn't work, however the error does not occur after my third change.
1) Changed "false" to "true" (at the end of the line) DOESN'T WORK
<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:resizeableActivity="true">
2) Changed "true" to "false" (near the beginning of the line) DOESN'T WORK
<application android:allowBackup="false" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:resizeableActivity="false">
3) Original code is:
<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:resizeableActivity="false">
I deleted the last part of the code so it looked like this
<application android:allowBackup="true" android:icon="@mipmap/ic_launcher">
The error does not occur after this change. I can successfully recompile the apk. HOWEVER, when I tried to install the apk, it says "error parsing the package". I'm really loosing my mind over this. I would strongly appreciate it if someone could explain why the error is mentioning AndroidManifest.xml. Thank you.

Categories

Resources