Hi girls and boys :laugh:
I just wanted to share a little tips/guide/info to port apps from the platform, this is doesn't mean all the applications of the platform can be ported!!!
This is just example
Ok Let's start!!!
Requirement :
1. Knowledge in decompile/recompile/sign/zipalign apk file (apps)
- If you don't know how to do this, visit this thread
http://xdaforums.com/showthread.php?t=2195680
2. Knowledge to find library file (*.so file) and framework file (*.jar) whats needed from apps
3. Knowledge to use LogCat
- if you don't know how to do this, visit this thread
http://xdaforums.com/showthread.php?t=2274119
How can I know what's library is needed? :
1. Knowledge is in need if the library doesn't exist in apk file, locate the name of the library file (*.so file) that may be related to the application (the file name may be a bit the same with the application) you can search in system>lib
2. If library file already exist in apk file /folder lib>armeabi (You just need to extract it from apk file and take the file *.so)
3. To see what's apps required library framework file :
- Decompile apps with using file framework-res.apk from that ROM apps (Also maybe need framework 2 like SemcGenericUxpRes.apk or twframework-res.apk etc)
- Open AndroidManifest.xml using Text Editor (Like NotePad++) and see like this line
Leave file has been decompiled and Take it file name (In list androidmanifest) from the ROM file that you want to ported from system>framework also take permission framework file (*.xml) from system>etc>permission
What should i do know? :
1. First times you need download Full ROM is there already deodexed so you can take some file you need to ported
2. If you already understand what i said above, lets start to final section
3. If you already take all file what you need to port, collect all the files, and prepare cwm zip updater, add the file to zip with right folder
*.Apk file must be in system>app
*.So file must be in system>lib
*.jar file must be in system>framework
*.xml file permissions framework must be in system>etc>permissions
This section is not modified the apps, first you can try flash it with CWM and see its working or not, if not working (FC) you need to see whats wrong in logcat (FATAL ERROR)
Or the problem apps parsing error because your Android Version is lower (e.g apps JB to ICS)
Now you need to decompile that apps
Go to smali folder and search whats wrong in logcat, if you already fix it
Then open AndroidManifest.xml try to change minimal sdk version from Android_manifest and in apktool.yml
Code:
minSdkVersion: '[COLOR="Red"]16[/COLOR]'
targetSdkVersion: '17'
Change to this number
Code:
minSdkVersion: '[COLOR="Red"]14[/COLOR]'
targetSdkVersion: '17'
save all changes
then recompile, sign and zipalign
NOTE :
1. Choose right signing with apps you want to ported
2. Very difficult to port app from ICS/JB to GB because ICS and JB use HOLO themes/style you need to rewrite everything holo style that apps to framework-res GB
3. Not any apps can be ported to lower Android Version by changed minimal sdk