After the Release of ICS for our phones i decided to try building MIUI for our phones
I was able to make a zip but still havent got a booting ROM
Here I Hope to bring out developers to try and help out in developing an MIUI ROM Based on Stock the Procedure is pretty Simple
This also might Help understand what this Project is about
MIcode-Patchrom
To get started with MiCode/patchrom, you'll need to get
familiar with [Git and Repo](http://source.android.com/download/using-repo).
To initialize your local repository using the patchrom trees, use a command like this:
mkdir patchrom
cd patchrom
repo init -u git://github.com/MiCode/patchrom.git -b ics
Then to sync up:
repo sync
once there
We start off like this
STEP 1: Extracting the tools
I've extracted the tools to ~/patchrom, but you can use another directory if you want. I'll call that folder the PatchROM root folder.
STEP 2: Choosing the ROM
The PatchROM docs recommend that we use a stock ICS ROM from the device manufacturer.
So i've taken thebrainfaka's beta build and used it as my Base ROM.
U could follow the same steps
EDIT:
Although i Decided to turn things around after alotta failures so now if ur on the stock rom just type in
Code:
../build/envsetup.sh
when u are in the folder ST25i
then
Code:
../tools/releasetools/ota_target_from_phone -r
STEP 3: Creating the file structure
To port, we need to create a folder inside the PatchROM root directory for our device. I created a folder called 'ST25i' and made a makefile file
You also need to decompile the following APK files and put the resulting folder on the 'ST25i' folder:
/system/framework/android.policy.jar
/system/framework/framework.jar
/system/framework/framework-res.apk
/system/app/SystemUI.apk
/system/framework/services.jar
and the apps defined on the 'local-modified-apps' below
STEP 4: Editing the Makefile
The makefile i made has the following structure:
Code:
#
# Makefile for ST25i
#
# The original zip file, MUST be specified by each product
local-zip-file := ST25i.zip
# The output zip file of MIUI rom, the default is porting_miui.zip if not specified
local-out-zip-file := MIUI_ST25i.zip
# All apps from original ZIP, but has smali files chanded
local-modified-apps := CustomizedSettings MediaProvider
local-modified-jars :=
local-miui-modified-apps := MiuiHome Mms Settings Phone ThemeManager MiuiGallery Music
local-miui-removed-apps := MediaProvider
# All apps need to be removed from original ZIP file
include phoneapps.mk
# To include the local targets before and after zip the final ZIP file,
# and the local-targets should:
# (1) be defined after including porting.mk if using any global variable(see porting.mk)
# (2) the name should be leaded with local- to prevent any conflict with global targets
local-pre-zip := local-zip-misc
local-after-zip:= local-test
# The local targets after the zip file is generated, could include 'zip2sd' to
# deliver the zip file to phone, or to customize other actions
include $(PORT_BUILD)/porting.mk
# To define any local-target
local-zip-misc:
@echo Replace build.prop
cp other/build-ST25i.prop $(ZIP_DIR)/system/build.prop
rm $(ZIP_DIR)/system/vendor/overlay -rf
rm $(ZIP_DIR)/system/etc/customization/content/com/sonyericsson/wallpaperpicker/wallpapers -rf
local-test:
echo "an example action"
Code:
local-phone-apps = AccessoryKeyDispatcher \
AdobeFlashPlayer \
ApplicationsProvider \
AudioEffectService \
Bluetooth \
bootinfo \
CameraExtensionPermission \
CdfInfoAccessor \
CertInstaller \
CredentialManagerService \
DefaultCapabilities \
DefaultContainerService \
enhancedusbux \
ES_File_Explorer \
FaceLock \
GenericApplicationInstaller \
Initial-boot-setup \
livewallpaperearth \
InfiniteView \
MediaProvider \
MemcardTransportService \
Nfc \
PackageInstaller \
qcsemcservice \
Radio3 \
SemcCamera3D \
QuickPanelSettings \
SecWallpaperChooser \
SemcAlbum \
SemcAutoPowerOff \
SemcCameraUI \
SemcClock \
ServiceMenu \
SoundEnhancement \
usb-mtp-backup-transport \
usb-mtp-marlin-wrapper \
usb-mtp-update-wrapper \
usb-mtp-vendor-extension-service \
usbotg \
UsbTransportService \
UserDictionaryProvider \
UxpNxtLockScreen \
WapiCustomization \
WapPush \
WeatherWidget \
Youtube
Now Phoneapps.mk which i included in the makefile refers to all phone apps that i dont require
I'm still not sure regarding this but this what i made it so far
STEP 5: Apply MIUI Changes
To apply the MIUI changes on the choosen ROM, type those commands in the root of PatchROM:
Code:
source build/envsetup.sh
cd ST25i # CHANGE THIS LINE TO MATCH THE FOLDER YOU CREATED IN STEP 3
make
Now it should decompile the ROM and merge the ROM's smali files with the MIUI files, and create an ZIP file with the MIUI rom.
Github Sources for Xperia U build directory
Here!
These files should be in the folder u named as ST25i
u may use "git clone " and get all the files into ur local directory "ST25i"
Please Note in my github i've provided Files SPECIFICALLY FOR XPERIA U
Following everthing U've done so far
Now u maybe able to make ur build
while in the "patchrom" directory type in
Code:
$source ./build/envsetup.sh
$cd ST25i
$make
then go to folder/view options and check "show hidden files"
Now u will see a folder named ".build"
Enter that folder u will find a zip named MIUI_ST25i.zip
Which is Your MIUI ROM
So far I havent had success in getting it to boot,
So a humble request to All Devs to help out with this
Thanks for support Xperia U
Regards.
Hi Friends,
Just stumbled upon this thread while I was searching for something else. I recently managed to successfully port MIUI patchrom for my device Samsung Galaxy R running ICS 4.0.4.
The patchrom is for ICS 4.0.1 - 4.0.3, so if you running 4.0.4, it will be a little tougher.
But seeing the OP, I see you got something missing after build/envsetup.sh you need to run "make firstpatch" for the first time. That patches your framework, services and policy to work with MIUI. Then you'll get a hell lot of reject smali code files that you need to fix by hand. Then when you "make fullota" or "make zipfile" it will work. You may also need to patch your kernel init script in case your framework is too large for apktool to build and needs to be divided into two, like in our case.
I hope this helps. I was quoting the standard MiCode patchrom way of porting new devices. Please ignore if you are following some other setup.
parajsinghal said:
Hi Friends,
Just stumbled upon this thread while I was searching for something else. I recently managed to successfully port MIUI patchrom for my device Samsung Galaxy R running ICS 4.0.4.
The patchrom is for ICS 4.0.1 - 4.0.3, so if you running 4.0.4, it will be a little tougher.
But seeing the OP, I see you got something missing after build/envsetup.sh you need to run "make firstpatch" for the first time. That patches your framework, services and policy to work with MIUI. Then you'll get a hell lot of reject smali code files that you need to fix by hand. Then when you "make fullota" or "make zipfile" it will work. You may also need to patch your kernel init script in case your framework is too large for apktool to build and needs to be divided into two, like in our case.
I hope this helps. I was quoting the standard MiCode patchrom way of porting new devices. Please ignore if you are following some other setup.
Click to expand...
Click to collapse
Ah i'm following a different setup mate,for me the first problem to be tackled is compiling framework-res.apk,i
Even without changes I'm able to recompile but the darn thing wont work,
I have reports of similair errors in compiling framework-res
Once i get that sorted out i should be able to move forward...
oh and i already have compiled framework,services and policy with miui changes btw,
I'm pretty sure its the framework-res.apk which is giving me errors,
Some dudes in Sola also reported the same...
Hopefully when i figure out why my compiled framework doesnt boot i should get stuff moving..
bharat_goku said:
Ah i'm following a different setup mate,for me the first problem to be tackled is compiling framework-res.apk,i
Even without changes I'm able to recompile but the darn thing wont work,
I have reports of similair errors in compiling framework-res
Once i get that sorted out i should be able to move forward...
oh and i already have compiled framework,services and policy with miui changes btw,
I'm pretty sure its the framework-res.apk which is giving me errors,
Some dudes in Sola also reported the same...
Hopefully when i figure out why my compiled framework doesnt boot i should get stuff moving..
Click to expand...
Click to collapse
Why are you completetly compiling and not only drag/drop modified files using 7zip. Or did i understand something wrong.....
thebrainkafka said:
Why are you completetly compiling and not only drag/drop modified files using 7zip. Or did i understand something wrong.....
Click to expand...
Click to collapse
I have smali files too which can't be added by 7zip
Sent from my ST25i using xda premium
Ok now i decided to restart the building procedure all over again,
Too many errors in my build log so gimme a little while before i update my github sources...
To make MIUI working you must edit ramdisk in kernel.
Hello !!!
I'm not a real developper but I manage to make a little tool FOR DEVS to accelerate java src decompile
I don't know if it can be useful, but I wanted to share it ...
I don't really create something, all the tools already exist, you know them all :
JD-GUI : Java decompiler
Dex2jar : useful tool to transform .dex in readable .jar to get java src
Why did I made this ?
I searched how to get java src, useful to build apk or even compile sources, but only found manual way.
Ok decompiling one or 2 files is not a big deal ... but when you need to decompile a whole rom ......
What can this tool do ?
getting the java src from an apk and / or a .jar (framework.jar for eg) dex2jar and jd-gui already allow it
can decompile several files (.jar and or .apk)
rename each file to is native name
How to use it ?
This tool only works on Linux
Download attached zip or here
Unzip the file in home folder The folder must be in home and musn't be renamed or it won't work properly
launch the dex.sh (double click in graphic or use ./dex.sh commande in terminal)
Follow the instructions
.classes files need to be associated to JD-GUI use this programm. If you don't know if they already are or not, don't worry let the command do it ...
For more information, I included lines to make .jar files open by JD-GUI.
If you don't need / want these files to be associated after you use this tool type in terminal
PHP:
cd ~/.gnome2/nautilus-scripts
sudo rm open-in-jd-gui.sh
This tool is not perfect ... firstly I made it for me ....but finally wanted to share it ...
if you like it just tell me and use it ... if you don't .... ok just tell me why I would improve it ...
Huge thanks to :
JD-GUI Developpers : http://java.decompiler.free.fr/?q=jdgui
DEX2JAR Developpers : http://code.google.com/p/dex2jar/
tommytomatoe : for his wonderful Android Utility and for the command lines that helped me more than a lot !!! :good:
this is really useful
especially to decompile stock sony jar/apk to port some java classes from their frameworks
@Tof37
Bro, please reupload file, link is down
Thanks
EDIT:
sorry, i am dumb. THX a lot!
Hi,
I want to decompile Huawei Ascend Mate's settings.apk file and add some decompiled activities and classes from Samsung I9082 settings.apk (it is about dual sim functionality) and do the same with Mms.apk, Phone.apk and TelephonyProvider.apk. (With APKTOOL)
But the only problem is "public.xml"! because when an apk file is compiling from source, all of string names and plurals and etc. will convert to hexadecimal IDs that they are placed in public.xml and the keys of values in Java source will be replaced with hex IDs.
I need to regenerate "public.xml" to add new values with new IDs, but if I change IDs, I have to open all SMALI files and replace old value with new!
May somebody help me?
I have edited this file (res \ xml \ settings_headers.xml), add it to the firmware and the settings do not work, that is, I can not even go to the settings, in what could be the reason?
And signed and unsigned add, does not work and everything, even one letter to change and all that does not work ...
i have some reason to edit settings app
i want to edit settings-about phone-status
'network' and 'phone number'
i decompiled settings apk
and edit res/xml/device_info_status.xml
i tryed 3 kind
original:
PHP:
<Preference android:title="@string/status_operator" style="?android:attr/preferenceInformationStyle" android:summary="@string/device_info_not_available" android:key="operator_name" android:persistent="false"/>
1
PHP:
edit android:summary="XXXX"
fail
not applyed when i install
2
PHP:
eedit value/string.xml
add XXXX on that and edit @string/device_info_not_avalilable to @string/XXXX
fail
can't compile
3
PHP:
edit summary and key
fail
can't install
if you have any other idea or solutions
please help me
ps. im not good at programing because i did't learn about java
i just learn C for 3 month:silly: