[Android General] Ale95:
[GUIDE] How to convert Chinese roms based to International [TouchWiz]

Requeriments

Chinese firmware/ROM that want convert

Official European/American firmware/ROM of the same device (Ex: SM-G920F)

Tickle my Android or Advanced Apktool (Easy way)

Be sure to install WinRAR and Notepad+ in your PC

Patience, Time and Concentration

So now we can start to convert ;)

- Create a folder with the chinese base and create another for the international one

- Decompress the 2 firmwares in the correspond folder

- Now in system delete all the chinese folders related like this: *Much of the apps contain this "chn" in his name

/system

/system/chn_sipdb (Chinese Keyboard)

/system/SOGOUDB (Chinese Keyboard)

/system/festival

/system/finder_cp

/system/CSC (Due to is configured to China region) *Backup features.xml and others.xml

/system/preload (It contain chinese store, depending of firmware)

/system/app

/system/app/CMAWeatherPhone201X

/system/app/ChinaHolidayProvider

/system/app/com.samsung.festival.chinadefault_* (If exist, delete all the folders with this name)

/system/app/SamsungChineseIMEvX

/system/app/EventNotificationPhase3

/system/app/Festivalchinadefault

/system/app/GreetingCard

/system/app/SLocation and /system/lib/slocation

/system/app/MyEventWidget

/system/app/InCallUI

/system/app/SearchBoxBaidu_OPEN

/system/app/YellowPage (Could be located in priv-app too)

/system/priv-app

/system/priv-app/AMapNetworkLocation, XNetworkLocation_Baidu, (If exist)

/system/priv-app/SAssistant (If exist)

/system/priv-app/EventCenter

/system/priv-app/SMusicChn

/system/priv-app/BstSpamCallService

/system/priv-app/SVoice* (Delete all SVoice related files including VoiceWakeUp)

/system/priv-app/SecContacts_X_CHN and /system/priv-app/SecMms_X_Chn

/system/etc and /system/lib

/system/etc/gps.conf and system/etc/gps.xml

/system/lib/slocation

- After to delete all the chinese bload related is time to add all the international apps (/system/app and /system/priv-app) and the 2 gps files (system/etc) that we delete it in the last step

- Now is time to decompile so is necessary Tickle my Android or Advanced Apktool

So from your chinese and international firmware/rom take /system/framework/framework-res.apk and decompile (Install the frameworks for dont get error while decompile)

- If dont get error we can continue, from international framework take all /framework-res.apk/res/raw-xx and /framework-res.apk/res/values-xx folders and copy to chinese framework without overwrite existent files

- Then go to /framework-res.apk/res/values folder and open arrays.xml

Search:

config_locationProviderPackageNames

And replace the whole string-array by this:

<string-array name="config_locationProviderPackageNames">
<item>com.google.android.gms</item>
<item>com.android.location.fused</item>
<item>com.amap.android.ams</item>
<item>com.amap.android.location</item>
<item>com.baidu.map.location</item>
</string-array>

Save it and open strings.xml

Search:

config_networkLocationProviderPackageName

And replace the whole string by this:

<string name="config_networkLocationProviderPackageName">@null</string>

Search:

config_geocoderProviderPackageName

And replace the whole string by this:

<string name="config_geocoderProviderPackageName">@null</string>

NOTE: In some custom roms like aurora, some extra features are added in /framework-res.apk/res/values/arrays.xml and /framework-res.apk/res/values/strings.xml so search at final of the xml if exist chinese strings, if exist so translated it, can use google translator if dont understand.

- Save it and recompile the chinese framework-res.apk

Now decompile android.policy.jar (Lollipop), services.jar (Marsmallow) from chinese firmware/rom

Lollipop

- Decompile android.policy.jar with Tickle my Android or any tool that decompile classes.dex

- Go to android.policy.jar/smali/com/android/internal/policy/impl and open GlobalActions$99.smali and GlobalActions$SinglePressAction.smali

- Chinese strings are decoded in unicode so u need search this with notepad+ "\u"

- In GlobalActions$99.smali search

const-string v2, "\u

Replace "\u..." by:

const-string v2, "Reboot Options"

- In GlobalActions$SinglePressAction.smali search

const-string v2, "\u

Replace "\u..." by: *Some lines above u can see the correct order, but almost always this is the order

const-string v2, "Reboot"

const-string v2, "Hot Reboot"

const-string v2, "Download"

const-string v2, "Recovery"

const-string v2, "Safe Mode"

- Save and recompile back android.policy.jar, be sure that the modified date is different and more recent than original, u can check it open the compiled file with winrar, because some android tools don't compile correctly the .jar files

*Updating guide..: