First download the apktool from here then install the framework of android M extracted from your Rom, choose your desired mod/s and follow the instructions.
Ambient Display:
1. Decompile SystemUI.apk
2. Navigate to systemui/res/values/bools.xml and change this line:
from
PHP:
<bool name="doze_display_state_supported">false</bool>
<bool name="doze_pulse_on_pick_up">false</bool>
to
PHP:
<bool name="doze_display_state_supported">true</bool>
<bool name="doze_pulse_on_pick_up">true</bool>
3. Save and recompile SystemUI.apk
4. Decompile framework-res.apk
5. Navigate to framework-res/res/values/strings.xml and change this line:
from
PHP:
<string name="config_dozeComponent"></string>
to
PHP:
<string name="config_dozeComponent">com.android.systemui/com.android.systemui.doze.DozeService</string>
6. Save and close
7. Now in the same folder open bools.xml and change this line:
from
PHP:
<bool name="config_dozeAfterScreenOff">false</bool>
<bool name="config_powerDecoupleInteractiveModeFromDisplay">false</bool>
to
PHP:
<bool name="config_dozeAfterScreenOff">true</bool>
<bool name="config_powerDecoupleInteractiveModeFromDisplay">true</bool>
Save it and close
8. Now in the same folder open integers.xml and change this line:
from
PHP:
<integer name="config_screenBrightnessDoze">1</integer>
to
PHP:
<integer name="config_screenBrightnessDoze">17</integer>
9. Save and recompile framework-res.apk
Add Extended Power Menu:
don't ask for reboot options,soft,recovery...etc, here i just enabled the hidden power menu options in the google source code.
1. Decompile framework-res.apk
2. Navigate to framework-res/res/values/arrays.xml and change this line:
from
PHP:
<string-array name="config_globalActionsList">
<item>power</item>
<item>bugreport</item>
<item>users</item>
</string-array>
to
PHP:
<string-array name="config_globalActionsList">
<item>power</item>
<item>airplane</item>
<item>settings</item>
<item>lockdown</item>
<item>voiceassist</item>
<item>bugreport</item>
<item>silent</item>
<item>users</item>
</string-array>
3. Save and recompile framework-res.apk
Add center clock:
1. Decompile SystemUI.apk
2. Navigate to systemui/res/layout/status_bar.xml and add this line:
PHP:
<LinearLayout android:gravity="center" android:orientation="horizontal" android:id="@id/notification_icon_area_inner" android:layout_width="fill_parent" android:layout_height="fill_parent">
<com.android.systemui.statusbar.policy.Clock android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:gravity="start|center" android:id="@id/clock" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
</LinearLayout>
immediatly after this line:
PHP:
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
and delete this line:
PHP:
<com.android.systemui.statusbar.policy.Clock android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:gravity="start|center" android:id="@id/clock" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" android:paddingStart="7.0dip" />
3. Save and close
4. Navigate to systemui/res/values/dimens.xml and change this line:
from
PHP:
<dimen name="keyguard_carrier_text_margin">16.0dip</dimen>
to
PHP:
<dimen name="keyguard_carrier_text_margin">156.0dip</dimen>
5. Save and recompile SystemUI.apk
for every mod put your modded framework or/and system in the corresponding folder inside the attached zip(mod_hammerhead for Nexus 5 and mod_shamu for Nexus 6), flash via TWRP revovery.
Hi,can i have individual mod ..?
for e.g, i wish to have ambient display turn on only ..
nsg86 said:
Hi,can i have individual mod ..?
for e.g, i wish to have ambient display turn on only ..
Click to expand...
Click to collapse
Give me your framework and systemui
Sent from my Nexus 5 using Tapatalk
PiSpecialist said:
First flash the framework.zip, let it boot then flash system.zip.
Screenshoots:
Click to expand...
Click to collapse
firstly thanks great work... but the only thing stopping me from flashing this straight away is the fact its unclear if the extended power menu includes reboot/recovery.. could you clarify if it does or not.
TIA
gaosphappy said:
firstly thanks great work... but the only thing stopping me from flashing this straight away is the fact its unclear if the extended power menu includes reboot/recovery.. could you clarify if it does or not.
TIA
Click to expand...
Click to collapse
See the screenshots.
Sent from my Nexus 5 using Tapatalk
PiSpecialist said:
See the screenshots.
Sent from my Nexus 5 using Tapatalk
Click to expand...
Click to collapse
ive seen both the screen shots... its not there (that i can see ??? ) just wandered if there was more options to the power menu tucked away N.M
this got me stuck at google logo, running factory image, twrp latest, supersu, hellscore kernel, also using layers theme engine
dewlap said:
this got me stuck at google logo, running factory image, twrp latest, supersu, hellscore kernel, also using layers theme engine
Click to expand...
Click to collapse
Same expect I don't have layers.
Stuck at Google bootup animation too
For me did not work, got stuck in bootanimation, I am using kernel stock and there is no app cm or layer. To return did not need to give a reset factory only flash system.img. CAUTION!!
A pretty decent workaround for those that don't want to mess around with flashing frameworks is to use Nova Launcher's gestures feature and Material Power Menu.
Set double tap to Material Power Menu and viola! (only works on home screen) but good enough for me.
Your frameworks will all be different causing bootloop. The mod needs to be made on a clean install and only flashed on a clean install
Sent from my Nexus 5 using Tapatalk
can i have individual mod? Only Ambient Display
For those are getting bootloop, flash the attached zip, let it boot, then flash the others zip in the OP.
Erase dalvik and cache for well done
Hello,
Work fine on my Nexus 5 Xstasmooth 6.0
After flash Framework and system zip you must erase dalvik and cache
laugeek57 said:
Hello,
Work fine on my Nexus 5 Xstasmooth 6.0
After flash Framework and system zip you must erase dalvik and cache
Click to expand...
Click to collapse
Thanks
Sent from my Nexus 5 using Tapatalk
laugeek57 said:
Hello,
Work fine on my Nexus 5 Xstasmooth 6.0
After flash Framework and system zip you must erase dalvik and cache
Click to expand...
Click to collapse
Thanks for the info, @laugeek57
But i guess it is only for users with Xtrasmooth 6.0. For user like me with Lean ROM (@Mohamed Yaser) it isn't working. Thanks to @PiSpecialist for his "stock.zip" file, it works.
Appreciate your help @PiSpecialist and @laugeek57
Will it work in android one????
Dear @PiSpecialist
Just a couple of questions...
- For the center clock. In case i want to revert back to upper right clock, could you tell me how to do it?
- Are you planning to make a flashable file for a new advance power menu which include reboot options?
As always, thank you for your usefull contributions
Cheers
Is it possible to have a How To for centered clock ?
Or is it the same way than 5.1 ?
Related
Many users of Sabsa Prime posted they cannot update Facebook.
and.. maybe other apps also not available for update comes in. (Youtube, SuperSu, ... etc)
I have edited packages.xml on /data/local but some app still has problem.
(Problems with Google Apps might be solved with editing packages.xml and replacing apks. see EDIT 3 bottom)
You need uninstall those first and reinstall from market, will be fine :fingers-crossed:
How to Uninstall Apps on /system/app
1.
Install
Titanium Backup
com.keramidas.TitaniumBackup
OR
ROM Toolbox Lite
com.jrummy.liberty.toolbox
2.
Run it and GRANT it a Superuser access.
3.
Go for the Apps list.
on Titanium Backup
Tap Backup/Restore
OR
on ROM Toolbox Lite
Tap App Manager
then Tap All Apps
4.
App which its names written Red are on /system/app on apps list.
5.
Find app annoys you from being updated on market.
6.
Tap or long press its name then menu comes up.
7.
Press Uninstall
if you can't find, swipe left or right - it might be there.
8.
Wait until uninstall finishes...
9.
Reboot Your Phone NOW.
It's Done.
There's a one more step if you want to use them is:
Install them from market again.
Now, you can update apps.
The problem CANNOT be solved UNLESS the Developer puts correct apks(from market, UNTOUCHED) in their ROMs.
if not, and you install newer ROMs or somewhat from them, It'll annoy you again.
EDIT 1---------------------------------------------------------------------------------------------
for someone having poor(? disconnects too often) data reception,
please check this thread about build.prop Fast Dormancy:
t t p : / / forum.xda-developers.com/showthread.php?t=1684604
EDIT 2---------------------------------------------------------------------Sept. 21th, 2012
>> Oops, I forgot to tell reboot your phone. also, wrote about steps for titanium
EDIT 3------------------------------------------------------------------------Oct. 1st, 2012
>> Found something weired with Google apps by myself. so I edited again.
due to some reason you can't update or Install some Google apps like Google Play Service, etc.
1.
extract apks from gapps package 20120429
if you don't have it, Google it.
2.
go to recovery.
3.
mount /system/as writable.
4.
replace corresponding apks in system/app/
(Incldue MarketUpdater.apk: if you want to keep Play Store updated. and.. included Play Store App from gapps 20120429 IS OUTDATED.
DO NOT REPLACE GoogleBackupTransport.apk: this shares signature with the ROM's so do not replace it otherwise it will be NOT AVAILABLE on your phone.)
if you extracted the gapps package in folder gapps,
Shift-Click upper folder on tree view.
and open command window here
in command-prompt:
adb push /gapps /system/apps
Replacing apks done however you have more steps to do for replaced apks start working.
(optional)
you can unmount /system/ because you have finished replacing apks.
5.
mount /data/as writable.
6.
pull out packages.xml
in command-prompt:
adb pull /data/system/packages.xml
7.
open packages.xml in text editor
(IMPORTANT: DO NOT SAVE files on windows notepad or something else displays all of lines as single line because lack of UNIX support)
8.
Delete shared-user element has name=com.google.uid.shared.
then save.
you have to delete whole element this might look like:
<shared-user name="com.google.uid.shared" userId="10000">
<sigs count="1">
<cert index="1" />
</sigs>
<perms>
<item name="com.google.android.googleapps.permission.GOOGLE_AUTH.youtube" />
<item name="android.permission.INTERNET" />
<item name="com.google.android.providers.gmail.permission.WRITE_GMAIL" />
<item name="android.permission.WRITE_SYNC_SETTINGS" />
<item name="android.permission.BROADCAST_STICKY" />
<item name="com.google.android.googleapps.permission.ACCESS_GOOGLE_PASSWORD" />
<item name="com.google.android.googleapps.permission.GOOGLE_AUTH" />
<item name="android.permission.VIBRATE" />
<item name="android.permission.GET_ACCOUNTS" />
<item name="android.permission.MASTER_CLEAR" />
<item name="android.permission.SUBSCRIBED_FEEDS_WRITE" />
<item name="android.permission.ACCESS_DOWNLOAD_MANAGER" />
<item name="com.google.android.providers.gmail.permission.READ_GMAIL" />
<item name="android.permission.WRITE_CONTACTS" />
<item name="android.permission.READ_PHONE_STATE" />
<item name="com.android.providers.im.permission.WRITE_ONLY" />
<item name="android.permission.RECEIVE_BOOT_COMPLETED" />
<item name="com.google.android.gtalkservice.permission.SEND_GTALK_DATA_MESSAGE" />
<item name="android.permission.READ_CONTACTS" />
<item name="android.permission.READ_SYNC_SETTINGS" />
<item name="com.google.android.googleapps.permission.GOOGLE_AUTH.ALL_SERVICES" />
<item name="android.permission.WRITE_SETTINGS" />
<item name="android.permission.SUBSCRIBED_FEEDS_READ" />
<item name="android.permission.ACCESS_NETWORK_STATE" />
<item name="android.permission.WAKE_LOCK" />
<item name="com.android.providers.im.permission.READ_ONLY" />
<item name="android.permission.WRITE_SECURE_SETTINGS" />
<item name="com.google.android.googleapps.permission.GOOGLE_AUTH.YouTubeUser" />
<item name="android.permission.CALL_PHONE" />
<item name="com.google.android.gtalkservice.permission.GTALK_SERVICE" />
<item name="com.android.vending.INTENT_VENDING_ONLY" />
<item name="com.google.android.googleapps.permission.GOOGLE_MAIL_SWITCH" />
<item name="com.google.android.googleapps.permission.GOOGLE_AUTH.mail" />
</perms>
</shared-user>
Click to expand...
Click to collapse
9.
put packages.xml back to your phone.
in command-prompt:
adb push packages.xml /data/system/packages.xml
10.
set its permission rw-rw-r-- as it was.
in adb shell:
# chmod 664 /data/system/packages.xml
# chwon system.system /data/system/packages.xml
(optional)
to check permission has set:
# ls -e /data/system/packages.xml (if -rw-rw-r-- is okay first char is for a directory)
11.
Reboot Your Phone NOW.
It's Done.
Fails to install from Play store
AtomosVE said:
Many users of Sabsa Prime posted they cannot update Facebook.
and.. maybe other apps also not available for update comes in. (Youtube, SuperSu, ... etc)
I have edited packages.xml on /data/local but some app still has problem.
You need uninstall those first and reinstall from market, will be fine :fingers-crossed:
How to Uninstall Apps on /system/app
1.
Install ROM Toolbox Lite
com.jrummy.liberty.toolbox
2.
Run it and GRANT it a Superuser access.
3.
Tap App Manager
4.
Tap All Apps
Like Titanium, App which its names written Red are on /system/app on apps list.
5.
find app annoys you from being updated on market.
6.
Tap or long press its name then menu comes up.
7.
press Uninstall
8.
wait until uninstall finishes...
It's Done.
There's a one more step if you want to use them:
Install them from market again.
Now, you can update apps.
The problem CANNOT be solved UNLESS the Developer puts correct apks(from market, UNTOUCHED) in their ROMs.
if not, and you install newer ROMs or somewhat from them, It'll annoy you again.
Click to expand...
Click to collapse
After uninstalling the Facebook app, it fails to install again from market. It says invalid Update!! Please help.
mani4all said:
After uninstalling the Facebook app, it fails to install again from market. It says invalid Update!! Please help.
Click to expand...
Click to collapse
I believe you need to re-start your phone after Step 8. Then re-install from Market.
Oops, I forgot something..
mani4all said:
After uninstalling the Facebook app, it fails to install again from market. It says invalid Update!! Please help.
Click to expand...
Click to collapse
Oh, Forgot to tell rebooting your phone after uninstalled app. Hope you enjoy Facebook
Yowhy said:
I believe you need to re-start your phone after Step 8. Then re-install from Market.
Click to expand...
Click to collapse
Thanks for telling them reboot is need. I was forgot but Now, Corrected
Download:
Nexus S: crespo-20130220
filename: greenblue-crespo-20130220
md5sum: 3503235e1f66b0d2cfeeea43c2d1699b
sha1sum: 48c1cfbee8a226aae2ce5b5ab9fb7ad6d30339e3
Nexus S 4G: crespo4g-20130220
filename: greenblue-crespo4g-20130220.zip
md5sum: b02e36b543293a337dd3359bd68444d3
sha1sum: 7095ab401e71204532bf2866664452687866551a
Use the latest gapps for 4.2.1: 20121212
Warning: The new swipe keyboard and the gallery/camera/photosphere are not included. Stock photosphere apk will not work. It is hard coded to work on certain phones. You must use modified binaries or edit the build prop.
Steps to flash:
1. Flash the ROM and SuperSU.
2. Boot at least once before flashing Gapps. FCs may occur if you don't reboot.
3. Be patient: the phone will be laggy for the first few minutes as the phone scans for media on the built in sdcard.
4. If you have strange issues or FCs, make sure you wipe data / factory reset and reflash everything.
Important notes:
No tweaks, mods or kernel patches will be added. This is strictly a basic AOSP build.
A complete set of patches are provided on github so you can build your own ROM with your choice of modifications.
Flash your favorite AOSP based 4.1.x or 4.2.x kernel if desired. ASOP version of Matr1x and CM10 version of Marmite has been confirmed to work. Stock ROM is not as smooth as other kernels but it works.
Changelog:
20130221
Rebased on 4.2.2
20121206
Add bluetooth build cfg for fix build warning (trivial)
Bluetooth prevents deep sleep. Patch.
Crespo4g only: Fix Phone.apk force closes after a call *
Crespo4g only: Set voicemail number to own number for Nexus S 4G
Lockscreen PIN keyboard cuts off letters from number 7 and 9. Patch.
Update init.herring.rc: bluedroid has replaced system/bluetooth (trivial)
20121128
Restore original clock font size
Allow backups to Google account from Settings -> Backup & restore
Updated platform version number to 4.2.1 (cosmetic issue)
20121127
Build from 4.2.1 tree
Remove December to Contact's calendar - fixed in 4.2.1
Fix the building of Email.apk
Reduce the lockscreen clock font size
Update the FC on accessing Settings -> Storage patch
20121123
Add December to Contact's calendar
Fix FC on Daydream's clock setting
Fix alarm button in quick settings
Fix FC on accessing Settings -> Storage
Update the name, brand and model in build.prop
20121122 - Prevent lockscreen clock from getting cut off
20121120 - Added patch to fix MMS receive on crespo4g
20121119 - Initial build
Todo list:
Enable emulated storage. *
SElinux configuration.
Broken:
Nexus S 4G: Can't set voicemail number and cannot switch carrier back from Google Voice to My Carrier.
Nexus S 4G: Tethering with WiMax is troublesome at best.
Settings -> Battery does not properly show awake times in the graph. (Appears to be dependent on kernel used).
Working:
3G
4G WiMAX
Audio
Bluetooth audio
Camera
Daydream
Face unlock
GPS
Lockscreen widgets
MMS
NFC
Phone calls
SMS
Sprint system updates
Wifi
Instructions to build from source:
Code:
repo init -u git://github.com/diclusial/platform_manifest.git -b greenblue-4.2.2
repo sync
. build/envsetup.sh
lunch [model]
make otapackage
Build notes:
- All necessary patches and firmware are included in the repo.
Patches below my be out of date. Check github for changes.
The essential patches:
Add TARGET_ARCH to BoardConfigCommon
Fix camera build
Update location providers
Remove Launcher2 hardware acceleration overlay
Crespo bug fix patches
Set default backup transport to Google account
Fix clock and date/alarm display on lockscreen
Set the build prop value for version, brand, etc.
Remove redundant PRODUCT_PACKAGES for live wallpapers
Crespo4g bug fix patches
Update Mms config
Fix receiving MMS messages
Restore ability to utilize mobile/3g for tethering
Add full_crespo4g-userdebug to the lunch menu
Set default backup transport to Google account
Fix clock and date/alarm display on lockscreen
Set the build prop value for version, brand, etc.
Remove redundant PRODUCT_PACKAGES for live wallpapers
Patches to change the build process
Add support for overriding build.prop settings
Disable stock recovery
Bugs that might be fixed in future upstream releases
DeskClock: Fix Dream settings
Fix building, the product listing in build/ wants Email2
Merge "Settings: fix storage measurement for device without emulated
QuickSettings : Fix alarm intent
Hope will stable for daily using
So far so good here. My brother just got his N4 8gb today, at least we can run the same software... He already received an update.
---------- Post added at 11:51 PM ---------- Previous post was at 11:33 PM ----------
4G Works!
Bluetooth media audio working (listening to Pandora on my Moto S305 headphones)
I think we have a winner here. Using included kernel BTW.
Screenshot
Daydream works - what an awesome feature! Only problem with it is a FC when Clock setting is pressed but you can still use it as is.
Thanks for the guide,
Can you tell me how to solve Hunk#1?
I cannot understand op which related to hunk#1....:/
Code:
patching file 0s
Hunk #1 FAILED at 34.
1 out of 1 hunk FAILED -- saving rejects to file 0s.rej
it shows like this..:/
Articudos said:
Thanks for the guide,
Can you tell me how to solve Hunk#1?
I cannot understand op which related to hunk#1....:/
Code:
patching file 0s
Hunk #1 FAILED at 34.
1 out of 1 hunk FAILED -- saving rejects to file 0s.rej
it shows like this..:/
Click to expand...
Click to collapse
Which patch file are you trying to patch? What is the output of 0s.rej?
greenblue said:
Which patch file are you trying to patch? What is the output of 0s.rej?
Click to expand...
Click to collapse
001 patchfile.
0s.rej is here..same as .patchfile.
Code:
--- .repo/manifest.xml 2012-11-19 00:34:09.716145171 -0800
+++ .repo/manifest.xml 2012-11-16 15:00:40.058124761 -0800
@@ -34,6 +34,8 @@
<project path="device/lge/mako" name="device/lge/mako" groups="device" />
<project path="device/lge/mako-kernel" name="device/lge/mako-kernel" groups="device" />
<project path="device/sample" name="device/sample" />
+ <project path="device/samsung/crespo" name="device/samsung/crespo" groups="device" revision="refs/tags/android-4.1.2_r1" />
+ <project path="device/samsung/crespo4g" name="device/samsung/crespo4g" groups="device" revision="refs/tags/android-4.1.2_r1" />
<project path="device/samsung/maguro" name="device/samsung/maguro" groups="device" />
<project path="device/samsung/manta" name="device/samsung/manta" groups="device" />
<project path="device/samsung/toro" name="device/samsung/toro" groups="device" />
Nick N said:
Daydream works - what an awesome feature! Only problem with it is a FC when Clock setting is pressed but you can still use it as is.
Click to expand...
Click to collapse
Can't duplicate the problem. Only thing I can think of is that AOSP by default includes DeskClock.apk. The GAPPS I linked contains a DeskClockGoogle.apk so there might be a conflict.
Things to try:
1. Use adb to delete the existing DeskClock apk file inside /system/app and then copy the DeskClock.apk from the AOSP rom.
2. Use adb to delete the existing DeskClock apk file inside /system/app and then copy the DeskClockGoogle.apk from the GAPPS.
3. Uninstall the existing DeskClock with Titanium Backup. Try to install DeskClock or DeskClockGoogle one at a time a regular app (non system app).
Articudos said:
001 patchfile.
0s.rej is here..same as .patchfile.
Code:
--- .repo/manifest.xml 2012-11-19 00:34:09.716145171 -0800
+++ .repo/manifest.xml 2012-11-16 15:00:40.058124761 -0800
@@ -34,6 +34,8 @@
<project path="device/lge/mako" name="device/lge/mako" groups="device" />
<project path="device/lge/mako-kernel" name="device/lge/mako-kernel" groups="device" />
<project path="device/sample" name="device/sample" />
+ <project path="device/samsung/crespo" name="device/samsung/crespo" groups="device" revision="refs/tags/android-4.1.2_r1" />
+ <project path="device/samsung/crespo4g" name="device/samsung/crespo4g" groups="device" revision="refs/tags/android-4.1.2_r1" />
<project path="device/samsung/maguro" name="device/samsung/maguro" groups="device" />
<project path="device/samsung/manta" name="device/samsung/manta" groups="device" />
<project path="device/samsung/toro" name="device/samsung/toro" groups="device" />
Click to expand...
Click to collapse
Are you inside of the directory where you initialized the repo? Might be easier to just manually edit .repo/manifest.xml to add those two required lines. Are you trying to build it for crespo?
greenblue said:
Are you inside of the directory where you initialized the repo? Might be easier to just manually edit .repo/manifest.xml to add those two required lines. Are you trying to build it for crespo?
Click to expand...
Click to collapse
Yeah, crespo..
I downloaded in ~/ , and moved whole file to ~/crespo_4.2/ .
It can cause problem..?
Articudos said:
Yeah, crespo..
I downloaded in ~/ , and moved whole file to ~/crespo_4.2/ .
It can cause problem..?
Click to expand...
Click to collapse
So you created a git repo inside ~/, successfully synced, and then you moved all the contents to crespo_4.2? This is seperate from the download. You need to sync a few gigabytes of aosp code first.
greenblue said:
So you created a git repo inside ~/, successfully synced, and then you moved all the contents to crespo_4.2? This is seperate from the download. You need to sync a few gigabytes of aosp code first.
Click to expand...
Click to collapse
Aha, OK. It was first time using linux
I'll try it again and post result here!
BTW, There is way to sync in ~/crespo_4.2/ , not ~/ ?
edit: Success!
Articudos said:
BTW, There is way to sync in ~/crespo_4.2/ , not ~/ ?
Click to expand...
Click to collapse
Move ~/.repo to ~/crespo_4.2 and then sync. If you are using a file manager, you have to set it to show hidden files first.
greenblue said:
Move ~/.repo to ~/crespo_4.2 and then sync. If you are using a file manager, you have to set it to show hidden files first.
Click to expand...
Click to collapse
It worked!
About patch 004 and 005,
Do I have to modify it for crespo GSM?
nice try articudos i thing you can make a good rom for us
leap_ahead said:
nice try articudos i thing you can make a good rom for us
Click to expand...
Click to collapse
Yeah, I'm learning sth now..
Articudos said:
Yeah, I'm learning sth now..
Click to expand...
Click to collapse
continue that good job
Articudos said:
About patch 004 and 005,
Do I have to modify it for crespo GSM?
Click to expand...
Click to collapse
For 004, it does not exist in the cyanogenmod tree so it is unlikely to be needed.
For 005, it has already been done by default for crespo.
Sorry for bothering you... How can I apply step6 to crespo?
Second question,
If 4.2.1 source releases, how can I update source w/o losing my commits?
Sent from my Nexus S using Tapatalk 2
Hi guys! I see many people trying to learn how to make roms, Here i show the easiest and shortest way on how anyone can begin making roms for the Galaxy S3.
Requirements:
Prepared CWM Stock Package.
Apktool
7-zip
Notepad ++
Setting Up, and Introduction
IF you have downloaded firmware from sammobile instead of zoot1's package, use this part for Setting up and introduction: http://forum.xda-developers.com/showpost.php?p=37812381&postcount=33
OR ELSE THE EASIER WAY
To start with, Download the prepared CWM Stock Rom by zoot1 here: http://forum.xda-developers.com/showthread.php?t=1868004
I personally use firmware from sammobile, because i like to do everything myself. Though this method would be easier for beginners.
Extract the zip file to folder called "ROM".
Now lets head towards the customizing.
Thanks to Prawesome alot for this part. I took some info from his guide.
So now, open up the system folder. You'll find loads of folders in it. Here is a brief introduction to each of those folders:
1. apps
When you open this folder. You will find apk's. An apk is an install-able app package for any Android Device.
You can delete specific apps incase you want to delete. But take extra precautions on what you're deleting. As some apps are useful. You can add apps here as well in formats of apk's. But note, adding Play Store apps to the system/app folder is not recommended. For example you don't want Google Talk in your rom, you just have to delete the Talk.apk.
2. bin
Nothing really to mod in this folder. Full of advanced techy stuff. xD
3. etc
Here is where most of the tweaks come in. There is a folder called init.d where mods like the V6 Supercharger or multi-tasking fixes can be applied. Note! Don't add more than 1 or 2 scripts. Most of them usually conflict with each other.
In the gps.conf file, you can edit your gps info to make the gps more accurate. Pretty good guides about this, search them out.
Next is the hosts file. Devs use this to block sites from generating ads, and keeping their roms ad-free. Take a look at my DroidS3 hosts file, there are over 20,000 hosts blocked. You can use the same hosts file for your rom too.
4. Fonts
Very easy folder to understand. All you need to do here is replace ttf files, and you'll change the fonts.
5. Framework
Here is where the big mods come in. I'll explain further on about this. It contains the android.policy.jar, a useful element to add many mods. Framework-res is used to change wallpapers and theme the rom. I'll explain later.
6. libs
Contains all the libs needed for specific system apps to work. Don't mess here unless you're adding a mod.
7. Folders like csc, hdic, sipdb, wakeupdata, vendor, excetra..
These are the folders, there isn't much to do. Csc folder contains the feature.xml where some mods can be added. Search the forums for that. The rest contain multi-languages and more stuff.
8. xbin folder
Used to add scripts like busybox, dexdump, openvpn support. More like the bin folder but smaller.
9. Build.prop
Ever wondered how some roms have android 5.0, when it hasn't even released? All you need to change is the ro.build.version.release to any number you like. Even Android 20! Go change it, and fool some noobs out there. More mods can be added to this file. e.g:
Code:
debug.sf.hw=1
video.accelerate.hw=1
debug.performance.tuning=1
profiler.force_disable_err_rpt=1
profiler.force_disable_ulog=1
ro.config.nocheckin=1
ro.media.enc.jpeg.quality=100
ro.media.dec.jpeg.memcap=8000000
ro.media.enc.hprof.vid.bps=8000000
ro.telephony.call_ring.delay=0
ro.lge.proximity.delay=15
mot.proximity.delay=15
ro.ril.disable.power.collapse=0
pm.sleep_mode=1
ro.config.nocheckin=1
The codes listed above are for improving jpeg quality, saving some battery life, reducing call delay and more. Search for build.prop mods, you'll find loads of them. Now, a small explanation of the Meta-inf folder.
In Meta-Inf you'll find the updater-script.
Since this is aimed at beginners, I'll just show you how to change what text is shown during install in CWM.
Just edit what's in the quotes of the ui_print code in the file, and enter your own text. e.g:
Code:
ui_print("Hi, This message in quotes is displayed in recovery");
Modding!
It's time for the modding to begin.
Get apktool from: http://forum.xda-developers.com/showthread.php?t=1755243
Now, first copy your framework-res from the /system/framework directory to where you extracted apktool files. Let's call this folder "apktool"
Open the folder apktool, press shift and right click. Click on "Open command window here". Type:
Code:
apktool if framework-res.apk
Now you are ready to decompile apk's.
I'm going to show you how to mod different files. Copy over:
SystemUI.apk
android.policy.jar
framework-res.apk
1. SystemUI.apk
Just showing you basic modding here. Copy over SystemUI.apk to apktool folder. In the command prompt, type
Code:
apktool d SystemUI.apk
After it's done, you should see a SystemUI folder in the apktool directory.
I'm going to show you how to make the status bar transparent, thanks to raubkatze for this part.
Navigate to res/layout/tw_super_status_bar.xml and change android:background to match the red line.
Code:
<com.android.systemui.statusbar.phone.StatusBarWindowView [B][COLOR="Red"]android:background="#00000000[/COLOR][/B]" android:focusable="true" android:fitsSystemWindows="true" android:descendantFocusability="afterDescendants"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
Save and close.
Then navigate to /res/values/drawables.xml
Edit to match:
Code:
<item type="drawable" name="status_bar_background">[COLOR="red"][B]#00000000[/B][/COLOR]</item>
That's it. Save and close.
Go back to your command prompt and type
Code:
apktool b SystemUI SystemUI-new.apk
After it's done, probably will take around 5-10 minutes. You'll find SystemUI-new.apk in your apktool folder. Open both SystemUI.apk and SystemUI-new.apk with 7-zip. Delete AndroidManifest.xml from SystemUI-new.apk and copy AndroidManifest.xml and META-INF from SystemUI.apk to SystemUI-new.apk
That's it. Close the zip files.
If you have adb or android-sdk push SystemUI-new.apk to your phone using:
Code:
adb remount
adb push SystemUI-new.apk /system/app/SystemUI.apk
adb reboot
If you don't have adb, just copy over SystemUI-new.apk to your phone. Rename it to SystemUI.apk and copy to system/app with root explorer. Reboot.
There you have transparent statusbar now!
2. android.policy.jar
Decompile android.policy.jar with:
Code:
apktool d android.policy.jar
You will find android.policy.jar.out, open it and use Cristiano Matos guide to mod the files: http://forum.xda-developers.com/showthread.php?t=2018633
After that use:
Code:
apktool b android.policy.jar.out
Open the android.policy.jar.out folder, you will find a dist folder created and inside that is your modified android.policy.jar.
You can use adb again by:
Code:
adb push android.policy.jar /system/framework
or the normal root explorer method.
3. framework-res.apk
Here i'll show you small mods.
Decompile it using
Code:
apktool d framework-res.apk
Navigate to res/values/bools.xml. Here you can add these. Thanks to DSA for this! :
4 Way Rotation:
Code:
Code:
<bool name="config_allowAllRotations">false</bool>
Change to:
Code:
Code:
<bool name="config_allowAllRotations">true</bool>
Lock Screen Rotation:
Code:
Code:
<bool name="config_enableLockScreenRotation">false</bool>
Change to:
Code:
Code:
<bool name="config_enableLockScreenRotation">true</bool>
and
Code:
Code:
<bool name="lockscreen_isPortrait">true</bool>
change to
Code:
Code:
<bool name="lockscreen_isPortrait">false</bool>
Disable Keyboard Switch In StatusBar When Typing
Code:
Code:
<bool name="show_ongoing_ime_switcher">true</bool>
Change to:
Code:
Code:
<bool name="show_ongoing_ime_switcher">false</bool>
Unplugging From USB doesn't Turn Screen On
Code:
Code:
<bool name="config_unplugTurnsOnScreen">true</bool>
Change to:
Code:
Code:
<bool name="config_unplugTurnsOnScreen">false</bool>[/indent]
Now to change wallpaper. Change the default_wallpaper.jpg in drawable-xhdpi and to change lockscreen wallpaper change keyguard_default_wallpaper.jpg.
Now recompile using:
Code:
apktool b framework-res framework-new.apk
Delete AndroidManifest.xml from framework-new. Copy AndroidManifest.xml and META-INF from framework-res.apk to framework-new.apk
To test use adb:
Code:
adb push framework-new.apk /system/framework/framework-res.apk
Or rename to framework-res.apk and copy to system/framework using root explorer. Reboot.
Once you've added everything, your modified apks. Ui_print mods, A custom kernel (just replace boot.img) it's time to compile. Now this is really easy. Just highlight all the folders/files like system, meta-inf and boot.img. Right click. Hover over 7-zip and click Add to Rom.zip. Wait for it to be done, and copy Rom.zip to your sd card and flash. Voila! You've made your rom!!
You can get more mods to add from here: http://forum.xda-developers.com/showpost.php?p=26583654&postcount=4
I was a beginner once, everyone was a beginner once. People helped me, and now I want to help people.
Press the Thanks button, and/or rate this thread 5 stars to show your support.
FAQ
- How do i add a mod?
To add a mod, just download it. Open it and copy over all the folders from the zip file EXCEPT the META-INF.
- How can i set up apktool on windows?
To set up apktool on windows, you need aapt, apktool.jar and apktool.bat
- My modified apk is not working?
Do some testing and get to know what went wrong. I'm always here. I'll be glad to help.
- Are these the only apps i can modify?
Ofcourse not! Any apk can be modified. Just decompile it, and make your changes.
- I'm looking for a guide on something i want to learn. Can you add it here?
I'll try my best.
Reserved
Reserved one more.
Any feedback guys? I hope this is useful.
Forget that i had to reserve one more.
R: [GUIDE] Beginners/Ref Guide to Making Roms.
Looks interesting...when i will finish my exam i will check with more attention
Sent from my GT-I9300 using xda app-developers app
Willy89 said:
Looks interesting...when i will finish my exam i will check with more attention
Sent from my GT-I9300 using xda app-developers app
Click to expand...
Click to collapse
Thanks. Glad it's of help.
Sent from my GT-I9300 using xda premium
Thnx for making this thread.
It's always useful to read thread's like this.
Nice job.
Verzonden door mijn GT-I9300 met xda premium
Great guide, thanks, I will point Theshawty in this direction :thumbup::thumbup:
slaphead20 said:
Great guide, thanks, I will point Theshawty in this direction :thumbup::thumbup:
Click to expand...
Click to collapse
Too late old man. Not interested in building roms anymore.
Thanks guys.
If there's anything you'd like to have added.
Let me know.
AW: [GUIDE] Beginners/Ref Guide to Making Roms.
Thanks. That's it what i searched for to start. Great.
weli..this would be intersting..and will c hw thread moves...
I Need Help In Building the ROM
Hi,
I am steinert. i need your help in biulding the rom, actually i finished everything but getting the problem while flashing the rom. when i googled it. i came to know that the problem lies in updater-script. i used root explorer to find out the reason. it was like.
FINISHED EXECUTING SCRIPT FILE
EXIT VALUE:126
STDOUT:
NULL
STDERR:
SH:<STDIN>[1]:/CACHE/RECOVERY/LAST_LOG:CAN'T EXECUTEERMISSION DENIED.
I Hope that You help a NOOB like me....
Thank you in advance....
Jacqueline Steinert said:
Hi,
I am steinert. i need your help in biulding the rom, actually i finished everything but getting the problem while flashing the rom. when i googled it. i came to know that the problem lies in updater-script. i used root explorer to find out the reason. it was like.
FINISHED EXECUTING SCRIPT FILE
EXIT VALUE:126
STDOUT:
NULL
STDERR:
SH:<STDIN>[1]:/CACHE/RECOVERY/LAST_LOG:CAN'T EXECUTEERMISSION DENIED.
I Hope that You help a NOOB like me....
Thank you in advance....
Click to expand...
Click to collapse
After flashing the rom.
Check the error through Advanced > Show recovery log in recovery.
Post results here.
I : checking for entendedcommand..
I : skipping execution of extendedcommand, file not found...
Jacqueline Steinert said:
I : checking for entendedcommand..
I : skipping execution of extendedcommand, file not found...
Click to expand...
Click to collapse
Huh?
Get me a screenshot of your meta-inf/com/google/android directory.
What exactly did you modify? It should work if you left the meta-inf untouched.
masterex567 said:
Huh?
Get me a screenshot of your meta-inf/com/google/android directory.
What exactly did you modify? It should work if you left the meta-inf untouched.
Click to expand...
Click to collapse
I just removed all the apps and inserted new apps...!!
Should i send you my updater-script?
Jacqueline Steinert said:
I just removed all the apps and inserted new apps...!!
Should i send you my updater-script?
Click to expand...
Click to collapse
Removed all?
Some are core apps like SystemUI, etc.
Get me a screenshot of your rom.zip..
masterex567 said:
Removed all?
Some are core apps like SystemUI, etc.
Get me a screenshot of your rom.zip..
Click to expand...
Click to collapse
{
"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"
}
This is the screenshot of my rom..! and before also i got the same problem with out changing the system .apk's
Jacqueline Steinert said:
View attachment 1700664
This is the screenshot of my rom..! and before also i got the same problem with out changing the system .apk's
Click to expand...
Click to collapse
Highlight those 3 and in 7zip options click add to " ".zip
Sent from my GT-I9300 using xda premium
I know of three ways to disable/freeze unwanted apps:
Using the command pm disable PACKAGE_OR_COMPONENT
Titanium Backup Pro
Disable the app through the built-in Application Manager (does not work for all apps)
Here's some details I could find about pm disable: http://www.kpbird.com/2013/05/android-shell-command-pm-package-manager.html
But my question to the community: When an app is disabled/frozen by any of these methods, what keeps track of these? Where is this data stored?
If nobody can answer my question above, then I have a different question: Are there any apps/commands that would allow you to view/log filesystem changes on-the-fly? (goal with this: start this "watcher" app, then disable an app using pm, and figure out what changed).
Thanks!
I found it! After quite some time grepping around, I found that the list of enabled/disabled apps is located here:
/data/system/users/0/package-restrictions.xml
Now, all I need to do is find a way to update this file in bash, without relying on any external programs. I plan to make a flashable zip to run a simple script that searches for each of the following three lines:
Code:
<pkg name="com.wssyncmldm" enabled="1" />
<pkg name="com.LocalFota" enabled="1" />
<pkg name="com.sec.android.fwupgrade" enabled="1" />
And updates each to a "2".
If any of the three lines are not found, the script should add them near the end of the file, on new lines immediately before this one:
Code:
<preferred-activities />
One more thing: it's possible that a person might have multiple user accounts on their phone (seems rare...), there could be other package-restrictions.xml files in other directories (maybe a /data/system/users/1/ or example). It would be ideal if the script could search for other user accounts and make the same modifications.
Any scripting-heroes willing to make this up for me??
BTW: the point/purpose of this is to disable the OTA updates from a flashable zip, in a custom recovery, without requiring a rooted system.
Aou said:
I found it! After quite some time grepping around, I found that the list of enabled/disabled apps is located here:
/data/system/users/0/package-restrictions.xml
Now, all I need to do is find a way to update this file in bash, without relying on any external programs. I plan to make a flashable zip to run a simple script that searches for each of the following three lines:
Code:
<pkg name="com.wssyncmldm" enabled="1" />
<pkg name="com.LocalFota" enabled="1" />
<pkg name="com.sec.android.fwupgrade" enabled="1" />
And updates each to a "2".
If any of the three lines are not found, the script should add them near the end of the file, on new lines immediately before this one:
Code:
<preferred-activities />
One more thing: it's possible that a person might have multiple user accounts on their phone (seems rare...), there could be other package-restrictions.xml files in other directories (maybe a /data/system/users/1/ or example). It would be ideal if the script could search for other user accounts and make the same modifications.
Any scripting-heroes willing to make this up for me??
BTW: the point/purpose of this is to disable the OTA updates from a flashable zip, in a custom recovery, without requiring a rooted system.
Click to expand...
Click to collapse
I could probably make a flashable zip that replaces package-restrictions.xml with a modified version that disables OTA
do you have that file?
the bash script looking for and replacing lines is not possible AFAIK via recovery.
jetlitheone said:
I could probably make a flashable zip that replaces package-restrictions.xml with a modified version that disables OTA
do you have that file?
the bash script looking for and replacing lines is not possible AFAIK via recovery.
Click to expand...
Click to collapse
Well, I've done this sort of thing in MS-DOS batch, using For loops (reading the file, line-by-line and processing it). I'll have to look into the bash equivalent.
Also, simply replacing the file is far too dangerous. If any entries in that file mismatch what's installed on the system, the device will not boot properly (TouchWiz launcher will not load, for one). Every time you enable/disable an app, the entire file shifts around and changes. It's a nightmare. But dealing with it line-by-line would be feasible...
Aou said:
Well, I've done this sort of thing in MS-DOS batch, using For loops (reading the file, line-by-line and processing it). I'll have to look into the bash equivalent.
Also, simply replacing the file is far too dangerous. If any entries in that file mismatch what's installed on the system, the device will not boot properly (TouchWiz launcher will not load, for one). Every time you enable/disable an app, the entire file shifts around and changes. It's a nightmare. But dealing with it line-by-line would be feasible...
Click to expand...
Click to collapse
Yeah I know what you mean I don't know it might be possible. Only thing I know of is applications that run bash scripts on boot up. But not of running one via a flashable zip in recovery
Sent from my SGH-I337 using Tapatalk 4 Beta
Based on some of the flashable zips out there, I think it's possible to use busybox to execute a bash script. I came up with a little bit of crappy psuedocode for what needs to happen:
Code:
set foundFlag = 0
if (file exists: /system/app/<app>.apk) do:
for (each line of package-restrictions.xml) do:
if ( line = <pkg name="com.wssyncmldm" enabled="1" /> ) do:
echo <pkg name="com.wssyncmldm" enabled="2" /> into newfile
set foundFlag = 1
else do:
echo line into newfile
end if
end for
if (foundFlag != 1) do:
for (each line of package-restrictions.xml) do:
if ( line = <preferred-activities /> ) do:
echo <pkg name="com.wssyncmldm" enabled="2" /> into newfile
echo <preferred-activities /> into newfile
else do:
echo line into newfile
end if
end for
end if
move newfile -> package-restrictions.xml
end if
The above would need to be repeated 3 times for the 3 apk's that need to be disabled.
.
Hi all!
After some tests, finally I got the network location working outside China. This fix is needed to have the Weather app working correctly. I also have published it in http://en.miui.com/thread-70357-1-1.html, but I wanted to share it in XDA, that has helped me for so many times.
Before continue reading, keep in mind that is supposed that you already know how to use apktool.
Here we go:
1. Pull the framework-res.apk from your phone or from a ROM.
2. Decompile framework-res.apk
3. Check the file res/values/strings.xml
- Find this line:
Code:
<string name="config_networkLocationProviderPackageName">com.amap.android.location</string>
- Change that line into this one:
Code:
<string name="config_networkLocationProviderPackageName">@null</string>
- Find this another line:
Code:
<string name="config_fusedLocationProviderPackageName">com.qualcomm.location</string>
- Change that line into this one:
Code:
<string name="config_fusedLocationProviderPackageName">com.android.location.fused</string>
4. Check the file res/values/bools.xml:
- Find this line:
Code:
<bool name="config_enableNetworkLocationOverlay">false</bool>
- Change that line into this one:
Code:
<bool name="config_enableNetworkLocationOverlay">true</bool>
- Find this another line:
Code:
<bool name="config_enableFusedLocationOverlay">false</bool>
- Change that line into this one:
Code:
<bool name="config_enableFusedLocationOverlay">true</bool>
5. Compile framework-res.apk and push it to your ROM/phone (remember to apply the correct permissions -644-)
6. Delete the app /system/app/AMAPNetworkLocation.apk
7. Reboot in recovery and wipe cache and Dalvik.
8. In the next reboot, a message appears asking to allow to Google to locate you. If you agree to that message, the network location will work correctly.
9. Voilà! The Weather app now is locating correctly.
Thanks to Redber and Faralai for their help.
My weather app always located my position correctly.. i don't know why some people have this problem...
a.broken.star said:
My weather app always located my position correctly.. i don't know why some people have this problem...
Click to expand...
Click to collapse
In Spain we all have had this problem, and the process above is the solution I found.
koboldo said:
In Spain we all have had this problem, and the process above is the solution I found.
Click to expand...
Click to collapse
Ohk... oooopss... sorry...