[GUIDE/TIPS] How to Port OEM Apps / Vendor Apps to Your Current ROM

Search This thread

mdmaher

Senior Member
Jun 6, 2016
552
598
Unavailable
We can't see anything in this. Please give a linked text file (pastebin, etc.) with the log

Thanks for reply.
Here it is :-

Code:
18592********* 03-08 09:45:23.276
AndroidRuntime [E] Process:com.sec.android.app.music.PID 18592


18592********** 03-08 09:45:23.276
AndroidRuntime [E] at com.samsung.android.app.music.support.sdl.Sdl.<clinit>(Sdl.java:6)


18592********** 03-08 09:45:23.276
AndroidRuntime [E] at com.samsung.android.app.music.support.SamsungSdk.<clinit>(SamsungSdk.java:13)


18592********** 03-08 09:45:23.276
AndroidRuntime [E] at com.samsung.android.app.music.support.samsung.feature.FloatingFeatureCompat.getEnableStatus(FloatingFeatureCompat.java:10)


18592********** 03-08 09:45:23.276
AndroidRuntime [E] at
com.samsung.android.app.music.library.ui.feature.FloatingFeatures<clinit>(FoatingFeatures.java:11)


18592********** 03-08 09:45:23.276
AndroidRuntime [E] at com.samsung.android.app.music.core.utils.logging.FeatureLogger.<clinit>(FeatureLogger.java:48)


18592********** 03-08 09:45:23.276
AndroidRuntime [E] at com.samsung.android.app.music.common.MusicApplication.onCreate.(MusicApplicatin.java:106)
 

AndroidLacky

Member
Mar 15, 2016
17
6
I get FC when port Sony Camera from Xperia Z3 to RR ROM in Galaxy S4 I9500. I taken all framework, lib about camera and still get FC. Here for logcat:crying:
My-port

From looking at your log it looks like you might still be missing some libs that belong to SemcCameraUI-noGesture-xxhdpi-release...i would start by skimming thru the system/lib and vendor/lib folders of the Z3. All the issues are looking for the same libs that are missing. So start there. Hope this helps.
 
  • Like
Reactions: kongacute

XxViRUsPRO

Senior Member
Hi I Want To Port S7 edge (Edge Features[Edge plane/edge screen/etc....])
For Samsung Galaxy A5 2017 can you give me a video tut so i can understand how its going porting apps and thanks for the helping:laugh:
Best Regards,
XxViRUsPRO
 

Pavlex4

Senior Member
Sep 26, 2014
391
23
Nis
Can someone please help me port note 3 settings app to s3 neo.I tried to replace s3 neo settings with note 3 settings and when I open setttings through toggles in notification panel settings open but when I open settings through menu I get stopped working error: https://mega.nz/#!94JFhSDR!tUpZ77vJU...8ysOfhy4TyBBBE

--------- beginning of /dev/log/system

E/ActivityThread( 5383): Failed to find provider info for com.sec.providers.settingsearch

E/AndroidRuntime( 5383): FATAL EXCEPTION: Thread-220
E/AndroidRuntime( 5383): Process: com.android.settings, PID: 5383
E/AndroidRuntime( 5383): java.lang.IllegalArgumentException: Unknown URL content://com.sec.providers.settingsearch
E/AndroidRuntime( 5383): at android.content.ContentResolver.delete(ContentResolver.java:1281)
E/AndroidRuntime( 5383): at com.android.settings.search.SettingSearchManager.Delete(SettingSearchManager.java:424)
E/AndroidRuntime( 5383): at com.android.settings.search.SettingHeaderXmlParser.initSearchDB(SettingHeaderXmlParser.java:88)
E/AndroidRuntime( 5383): at com.android.settings.search.SearchIntentReceiver$InitSerachDBThread.run(SearchIntentReceiver.java:103)

--------- beginning of /dev/log/main

E/AndroidRuntime(11215): FATAL EXCEPTION: main
E/AndroidRuntime(11215): Process: com.android.settings, PID: 11215
E/AndroidRuntime(11215): java.lang.NullPointerException
E/AndroidRuntime(11215): at com.android.settings.wifi.WifiEnabler.setSwitch(WifiEnabler.java:265)
E/AndroidRuntime(11215): at com.android.settings.Settings$HeaderAdapter.getView(Settings.java:3911)
E/AndroidRuntime(11215): at android.widget.AbsListView.obtainView(AbsListView.java:2769)
E/AndroidRuntime(11215): at android.widget.ListView.makeAndAddView(ListView.java:1801)
E/AndroidRuntime(11215): at android.widget.ListView.fillDown(ListView.java:697)
E/AndroidRuntime(11215): at android.widget.ListView.fillFromTop(ListView.java:763)
E/AndroidRuntime(11215): at android.widget.ListView.layoutChildren(ListView.java:1627)
E/AndroidRuntime(11215): at android.widget.AbsListView.onLayout(AbsListView.java:2578)
E/AndroidRuntime(11215): at android.view.View.layout(View.java:15745)
E/AndroidRuntime(11215): at android.view.ViewGroup.layout(ViewGroup.java:4867)
E/AndroidRuntime(11215): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1677)
E/AndroidRuntime(11215): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1531)
E/AndroidRuntime(11215): at android.widget.LinearLayout.onLayout(LinearLayout.java:1440)
E/AndroidRuntime(11215): at android.view.View.layout(View.java:15745)
E/AndroidRuntime(11215): at android.view.ViewGroup.layout(ViewGroup.java:4867)
E/AndroidRuntime(11215): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1677)
E/AndroidRuntime(11215): at android.widget.LinearLayout.layoutHorizontal(LinearLayout.java:1666)
E/AndroidRuntime(11215): at android.widget.LinearLayout.onLayout(LinearLayout.java:1442)
E/AndroidRuntime(11215): at android.view.View.layout(View.java:15745)
E/AndroidRuntime(11215): at android.view.ViewGroup.layout(ViewGroup.java:4867)
E/AndroidRuntime(11215): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1677)
E/AndroidRuntime(11215): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1531)
E/AndroidRuntime(11215): at android.widget.LinearLayout.onLayout(LinearLayout.java:1440)
E/AndroidRuntime(11215): at android.view.View.layout(View.java:15745)
E/AndroidRuntime(11215): at android.view.ViewGroup.layout(ViewGroup.java:4867)
E/AndroidRuntime(11215): at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
E/AndroidRuntime(11215): at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
E/AndroidRuntime(11215): at android.view.View.layout(View.java:15745)
E/AndroidRuntime(11215): at android.view.ViewGroup.layout(ViewGroup.java:4867)
E/AndroidRuntime(11215): at com.android.internal.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java:459)
E/AndroidRuntime(11215): at android.view.View.layout(View.java:15745)
E/AndroidRuntime(11215): at android.view.ViewGroup.layout(ViewGroup.java:4867)
E/AndroidRuntime(11215): at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
E/AndroidRuntime(11215): at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
E/AndroidRuntime(11215): at android.view.View.layout(View.java:15745)
E/AndroidRuntime(11215): at android.view.ViewGroup.layout(ViewGroup.java:4867)
E/AndroidRuntime(11215): at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2337)
E/AndroidRuntime(11215): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2050)
E/AndroidRuntime(11215): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1253)
E/AndroidRuntime(11215): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6596)
E/AndroidRuntime(11215): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:803)
E/AndroidRuntime(11215): at android.view.Choreographer.doCallbacks(Choreographer.java:603)
E/AndroidRuntime(11215): at android.view.Choreographer.doFrame(Choreographer.java:573)
E/AndroidRuntime(11215): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:789)
E/AndroidRuntime(11215): at android.os.Handler.handleCallback(Handler.java:733)
E/AndroidRuntime(11215): at android.os.Handler.dispatchMessage(Handler.java:95)
E/AndroidRuntime(11215): at android.os.Looper.loop(Looper.java:136)
E/AndroidRuntime(11215): at android.app.ActivityThread.main(ActivityThread.java:5476)
E/AndroidRuntime(11215): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(11215): at java.lang.reflect.Method.invoke(Method.java:515)
E/AndroidRuntime(11215): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
E/AndroidRuntime(11215): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
E/AndroidRuntime(11215): at dalvik.system.NativeStart.main(Native Method)
 
Last edited:

AxelBlaz3

Senior Member
Jan 9, 2013
139
141
Hyderabad
Well, I found this thread kinda useful :laugh:. I'm trying to port LetvCamera app to a LineageOS based ROM(Dot OS).
And now I face this error. Any possible fixes for this :confused:?
Thanks :cowboy:
 

Attachments

  • photo6115950661645477865.jpg
    photo6115950661645477865.jpg
    154.2 KB · Views: 1,293
Last edited:

kev1807

Senior Member
Jan 17, 2011
193
12
Heidelberg
My question might sound noobish, but please do not grill me ... :D

I wanted to port the Samsung Write on PDF app to my Huawei Mediapad M5 Pro, since I've never found an app that does a job that good in android, annotating PDFs ... I have a samsung galaxy s8 with WriteonPDF installed, BUT I haven't and I won't root that one ...
Neither is root available for the Mediapad M5 Pro.

Am I correct that I can port it by extracting the files from a ROM that includes the App and the libraries then from the app?

I am quite insecure right now, as this tutorial reads quite complex ... I have experience in rooting and Custom ROMs (mainly installing though)

Why is it that the apk I opened does not contain any *.jar file

hope you answer without killing me :D
best wishes and thousands of thanks beforehand
 

optoclix

New member
Apr 30, 2018
4
0
Hi guys
I want use to lg Quickmemo app on other brand devices. Lg quickmemo is not running on other devices
Please help me
Thanks
 

mohamedfaky

Senior Member
Nov 14, 2014
55
6
Hi , i am trying to port LG Music app to my device Infinix zero 3 ( MM ) , i was trying hard for 3 days , first i tried using LG G3 lollipop rom .. added to my device the following files :
system/priv-app/LG-Music *with libs
system/priv-app/LGMusicWidget *with libs
system/framework/com.lge.frameworks.jar
system/framework/com.lge.sound.jar
system/framework/com.lge.music.collector.jar
system/framework/lge-res/lge-res.apk
system/etc/com.lge.music.xml
system/etc/audio_effects.conf
system/etc/audio_policy.conf
system/etc/permissions/com.lge.permissions.xml
system/etc/permissions/com.lge.music.collector.xml
and i received "Error LG Music has been stopped" , using logcat i got this :
--------- beginning of crash

01-25 08:57:25.082 3948 3948 E AndroidRuntime: FATAL EXCEPTION: main

01-25 08:57:25.082 3948 3948 E AndroidRuntime: Process: com.lge.music, PID: 3948

01-25 08:57:25.082 3948 3948 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.lge.music/com.lge.music.MusicBrowserActivity}: android.content.res.Resources$NotFoundException: File res/drawable-xxhdpi-v4/music.png from drawable resource ID #0x7f0200a5

01-25 08:57:25.082 3948 3948 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2543)

01-25 08:57:25.082 3948 3948 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2609)

01-25 08:57:25.082 3948 3948 E AndroidRuntime: at android.app.ActivityThread.-wrap11(ActivityThread.java)

01-25 08:57:25.082 3948 3948 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1465)

01-25 08:57:25.082 3948 3948 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:111)

01-25 08:57:25.082 3948 3948 E AndroidRuntime: at android.os.Looper.loop(Looper.java:207)

01-25 08:57:25.082 3948 3948 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5683)

01-25 08:57:25.082 3948 3948 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)

01-25 08:57:25.082 3948 3948 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)

01-25 08:57:25.082 3948 3948 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679)

01-25 08:57:25.082 3948 3948 E AndroidRuntime: at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107)

01-25 08:57:25.082 3948 3948 E AndroidRuntime: Caused by: android.content.res.Resources$NotFoundException: File res/drawable-xxhdpi-v4/music.png from drawable resource ID #0x7f0200a5

01-25 08:57:25.082 3948 3948 E AndroidRuntime: at android.content.res.Resources.loadDrawableForCookie(Resources.java:3021)

01-25 08:57:25.082 3948 3948 E AndroidRuntime: at android.content.res.Resources.loadDrawable(Resources.java:2905)

01-25 08:57:25.082 3948 3948 E AndroidRuntime: at android.content.res.Resources.getDrawable(Resources.java:1061)

01-25 08:57:25.082 3948 3948 E AndroidRuntime: at android.content.res.XResources.getDrawable(XResources.java:790)

01-25 08:57:25.082 3948 3948 E AndroidRuntime: at android.content.Context.getDrawable(Context.java:463)

01-25 08:57:25.082 3948 3948 E AndroidRuntime: at com.android.internal.widget.ToolbarWidgetWrapper.setIcon(ToolbarWidgetWrapper.java:322)

01-25 08:57:25.082 3948 3948 E AndroidRuntime: at com.android.internal.widget.ActionBarOverlayLayout.setIcon(ActionBarOverlayLayout.java:737)

01-25 08:57:25.082 3948 3948 E AndroidRuntime: at com.android.internal.policy.PhoneWindow.setDefaultIcon(PhoneWindow.java:1704)

01-25 08:57:25.082 3948 3948 E AndroidRuntime: at android.app.Activity.initWindowDecorActionBar(Activity.java:2176)

01-25 08:57:25.082 3948 3948 E AndroidRuntime: at android.app.Activity.setContentView(Activity.java:2191)

01-25 08:57:25.082 3948 3948 E AndroidRuntime: at com.lge.music.MusicBrowserActivity.onCreate(MusicBrowserActivity.java:200)

01-25 08:57:25.082 3948 3948 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:6270)

01-25 08:57:25.082 3948 3948 E AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1113)

01-25 08:57:25.082 3948 3948 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2496)

01-25 08:57:25.082 3948 3948 E AndroidRuntime: ... 10 more

01-25 08:57:25.082 3948 3948 E AndroidRuntime: Caused by: java.io.FileNotFoundException: res/drawable-xxhdpi-v4/music.png

01-25 08:57:25.082 3948 3948 E AndroidRuntime: at android.content.res.AssetManager.openNonAssetNative(Native Method)

01-25 08:57:25.082 3948 3948 E AndroidRuntime: at android.content.res.AssetManager.openNonAsset(AssetManager.java:410)

01-25 08:57:25.082 3948 3948 E AndroidRuntime: at android.content.res.Resources.loadDrawableForCookie(Resources.java:3014)

01-25 08:57:25.082 3948 3948 E AndroidRuntime: ... 23 more
so i decided to use lg music app from LG G3 Marshmallow rom which has the same sdk with my device's rom..
i used this files from MM Rom after removing lollipop rom :
system/priv-app/LGMusic with libs ( it was inside apk and i extracted it ) *i am using arm libs from lg on arm64 rom but i think no problem with this
system/priv-app/LGMusicWidget
system/framework/com.lge.frameworks.jar
system/framework/com.lge.sui.jar
system/framework/lge-res/lge-res.apk
system/framework/com.lge.sui.widget/com.lge.sui.widget.apk with oat folder
system/etc/com.lge.music.xml
system/etc/audio_effects.conf
system/etc/audio_policy.conf
system/etc/permissions/com.lge.permissions.xml
system/etc/permissions/com.lge.sui.xml
when i toke a logcat from the error i got this :
--------- beginning of crash

01-24 11:45:00.565 2183 2183 E AndroidRuntime: FATAL EXCEPTION: main

01-24 11:45:00.565 2183 2183 E AndroidRuntime: Process: com.lge.music, PID: 2183

01-24 11:45:00.565 2183 2183 E AndroidRuntime: java.lang.NoClassDefFoundError: com.lge.music.util.MusicUiProvider

01-24 11:45:00.565 2183 2183 E AndroidRuntime: at com.lge.music.util.Permissions.requestStoragePermission(Permissions.java:12)

01-24 11:45:00.565 2183 2183 E AndroidRuntime: at com.lge.music.MusicBrowserActivity.onCreate(MusicBrowserActivity.java:236)

01-24 11:45:00.565 2183 2183 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:6270)

01-24 11:45:00.565 2183 2183 E AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1113)

01-24 11:45:00.565 2183 2183 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2496)

01-24 11:45:00.565 2183 2183 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2609)

01-24 11:45:00.565 2183 2183 E AndroidRuntime: at android.app.ActivityThread.-wrap11(ActivityThread.java)
so i decompiled com.lge.music.apk with latest version of apktool( baksmalied classes.dex only because other resources making many errors.. ) and my framework-res.apk then modified requestStoragePermission from this :
.method public static requestStoragePermission(Landroid/app/Activity;)Z
.locals 3
.param p0, "activity" # Landroid/app/Activity;

.prologue
.line 12
const/4 v0, 0x1

new-array v0, v0, [Ljava/lang/String;

const/4 v1, 0x0

const-string v2, "android.permission.WRITE_EXTERNAL_STORAGE"

aput-object v2, v0, v1

new-instance v1, Lcom/lge/music/util/MusicUiProvider;

invoke-direct {v1}, Lcom/lge/music/util/MusicUiProvider;-><init>()V

invoke-static {p0, v0, v1}, Lcom/lge/app/permission/RequestPermissionsHelper;->requestPermissionsIfNeeded(Landroid/app/Activity;[Ljava/lang/String;Lcom/lge/app/permission/GuideUiProvider;)Z

move-result v0

return v0
.end method

to be :
.method public static requestStoragePermission(Landroid/app/Activity;)Z
.locals 3
.param p0, "activity" # Landroid/app/Activity;

.prologue
.line 12
const/4 v0, 0x1

new-array v0, v0, [Ljava/lang/String;

const/4 v1, 0x0

const v2, 0x1040481

aput-object v2, v0, v1

new-instance v1, Lcom/lge/music/util/MusicUiProvider;

invoke-direct {v1}, Lcom/lge/music/util/MusicUiProvider;-><init>()V

invoke-static {p0, v0, v1}, Lcom/lge/app/permission/RequestPermissionsHelper;->requestPermissionsIfNeeded(Landroid/app/Activity;[Ljava/lang/String;Lcom/lge/app/permission/GuideUiProvider;)Z

move-result v0

return v0
.end method
and did the same thing with method hasStoragePermission ( toke 0x01040481 from public.xml internal_storage from my device framework-res.apk ) then tried with this changes
i got this logcat :
01-24 13:55:31.063 2509 2509 E AndroidRuntime: FATAL EXCEPTION: main

01-24 13:55:31.063 2509 2509 E AndroidRuntime: Process: com.lge.music, PID: 2509

01-24 13:55:31.063 2509 2509 E AndroidRuntime: java.lang.VerifyError: Rejecting class com.lge.music.util.Permissions because it failed compile-time verification (declaration of 'com.lge.music.util.Permissions' appears in /system/priv-app/LGMusic/LGMusic.apk)

01-24 13:55:31.063 2509 2509 E AndroidRuntime: at com.lge.music.MusicBrowserActivity.onCreate(MusicBrowserActivity.java:236)
what should i do now ? please help i don't have any skills in java coding yet..
 
Last edited:

denisehilton

Member
Dec 26, 2018
13
1
Never knew porting was possible like this. I always had to re-install all the apps and lose my settings. Thanks a lot for this.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 153
    2a9zUsv.png

    INTRODUCING

    Hello XDA Community
    I just want to share TIPS how to port OEM/VENDOR Apps to your current ROM

    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. You should understand MANAGING APPLICTAIONS it help on making update into system like porting APPS
    - if you don't know how to do this, visit this post http://xdaforums.com/showpost.php?p=60829642&postcount=2
    4. Knowledge to use LogCat
    - if you don't know how to do this, visit this thread http://xdaforums.com/showthread.php?t=2274119

    What should i do now? :

    1. First times you need download Full ROM is there already deodexed so you can take some file you need to ported or you make it by yourself
    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 update.zip updater, add the file to zip with right folder

    *.Apk file must be in system>app or priv-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

    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 or use using a logcat after installing apps, you will see a missing library like :
    FATAL error can't find class blablabla something like that :D

    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)
    Moawj5V.png


    (Taking *.so files)
    Example for all applications

    NOTE For Lollipop : Google has change structure of an applications in system that every applications having lib folder itself, it make more easy to locate lib files

    - Open SemcAlbum.apk using winrar/rar and extract folder lib then remove folder lib from that app
    vwzTO3J.png

    - Rename com.sonyericsson.album.apk to SemcAlbum.apk
    - Create folder with same name with apk name (SemcAlbum)
    - Under that folder create folder lib
    - Under lib folder create folder arm
    - navigate to the extracted lib before, move *.so files from armeabi-v7a if exist or armeabi into SemcAlbum/lib/arm/
    xiSQsHB.png

    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 etc)
    - Open AndroidManifest.xml using Text Editor (Like NotePad++) and see like this line
    2SZ4pl2.png

    <uses-library android:name="com.sony.device" android:required="true" />
    <uses-library android:name="com.sony.device" android:required="false" />
    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>permissions

    Example :
    com.sonyericsson.navigationbar < it mean jar file, so you should take the file from system/framework

    framework files need xml file permissions
    com.sonyericsson.navigationbar.xml file, so you should take the file from system/etc/permissions


    Explaination :
    What The different true & false?
    true : the application is required that framework to work
    false : the application is still required that framework but without that framework the application can still work but some feature that need framework files will not work.

    This section is not modified the apps, first you can try flash it with Recovery 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 (I will explain how to fix it in next post)

    Then open AndroidManifest.xml try to change minimal sdk version from Android_manifest or 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. Not any apps can be ported to lower Android Version by change minimal sdk
    59
    Analizing app force close and how to fix it

    Well in this post i will explain how to fix force close app that you are trying to port
    Typically applications that do not work is because several factors:
    1. Missing library framework
    2. Missing *.so files
    3. Java Method or function that do not match with your current ROM

    1. Missing library framework
    You should look at AndroidManifest.xml what app needed framework files, see screenshots!
    2SZ4pl2.png

    take the file name like on AndroidManifest.xml in system/framework and take xml permissions files from system/etc/permissions

    2. Missing *.so files
    This is really confused how to find what app is need *.so files
    The solution is install the app and take a logcat!

    The log will say something like this :
    example (can't find class libUXVisualizer blablabla)

    then you just search on system/lib for libUXVisualizer.so from the ROM you want to port and take it!

    3. Java Method or function that do not match with your current ROM
    There is many factors that make app force close, but in SONY Apps usually only error "GetString". if you are trying to port SONY Apps to your current ROM (E.g. CM Based ROM) you will face same issue like this.
    lxIbQpz.jpg


    What should i do now after i see this log?

    Ok let's start!!!
    1. Decompile apps with using file framework-res.apk from that ROM apps (Also maybe need framework 2 like SemcGenericUxpRes.apk etc)
    2. Go to folder smali/com/sonyericsson/metadatacleanup/util/
    3. Open StorageManagerIf.smali using text editor
    - Find .line 262 and see like this!
    tyTiMqL.png

    4. Decompile your framework-res.apk
    - Go to folder res/value/
    - Open Public.xml using text editor
    - Following StorageManagerIf.smali in .line 262 there is code look like this
    Code:
    const-string v2, "[COLOR="Red"]storage_internal[/COLOR]"
    RIGHT?
    - SO Search storage_internal in Public.xml in your framework-res.apk
    EqxeMSF.png

    copy the code and change the code look like this!
    Code:
        const-string v2, "[COLOR="Red"]storage_internal[/COLOR]"
    
        invoke-direct {p0, v1, v2}, Lcom/sonyericsson/metadatacleanup/util/StorageManagerIf;->getString(Landroid/content/res/Resources;Ljava/lang/String;)Ljava/lang/String;
    
        move-result-object v2
    
        invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    
        move-result v2
    
        if-eqz v2, :cond_0
    Shrink code to
    Code:
    const v2, [COLOR="Red"]0x10405ad[/COLOR]
    So it will look like this
    Code:
     .line 262
        .local v0, "description":Ljava/lang/String;
        const v2, 0x10405ad
    
        if-eqz v2, :cond_0

    In screenshot logcat say there is many error, you should search similar code like before "storage_sdcard" & "storage_usb" and follow changing code guide like before!!! also search in other smali that same error like that.

    If you are done, save all change then recompile apk and sign apk

    CONGRATZ YOU ARE DONE.
    39
    CREDITS :

    Thanks to @Lasan for the trick @ibanez7 for always helping me if i stuck
    6
    Thanks for it...... :good::good::good::good:
    but still waiting for more detil tuttor, give some example to port apk from sony to all android device
    because i wana be RC-RD like you:D:silly:

    you are realy great RC-RD here

    you are welcome my friend :)

    Yeah i will post with all detail later, now just uploaded some screenshots :)

    No!!! i'm not developer :D
    4
    Any tutorial for round switches in settings like homani framework
    And xperia u phone book port to tipo ????