CM6 Setup Guide - Hero CDMA General

This is a quick guide for setting up ADW.Launcher and CM6 (changes from defaults only). I'm just posting it here so I can link people to it, My apologies if something better already exists here. I lean towards minimalism for the sake of speed. Do this holding the phone in portrait mode, or I don’t think you will see the alpha sliders in some steps.
1. Drag and Drop preferred apps onto the left or right action buttons to change them (e.g. I change the R.A.B. to Dolphin Browser by dragging the Dolphin shortcut on the homescreen on top of the button I want to replace (see step 10.b. to add 2 more buttons)
2. Menu>Settings>Display>Animation>No Animations
3. Menu>Settings>Display>Brightness>Auto
4. Menu>Settings>CyanogenMod>User Interface>Uncheck 270 degrees
5. Menu>Settings>CyanogenMod>User Interface>Auto BackLight>Use Custom>Check
*Then... >Auto BackLight >Other Levels
Set buttons column to all zeros to kill the trackball light and hit ‘Save & Apply’
6. Menu>Edit> Remove un-needed screens (3 is enough, you widget lovers)
7. Menu>Settings>ADW.Launcher>Screen Preferences>
a. Default Screen (set to middle screen (e.g. “2” if you use 3 screens or “3” if you use 5 screens
b. Desktop Scrolling Speed: 167 (lower is faster!)
c. Desktop Overshoot: 20​8. Menu>Settings>ADW.Launcher>Drawer Settings>
a. Zoom effect speed: 385 (lower is faster!)
b. Fade App Labels: Uncheck
c. Background Color: Black, don’t use any alpha (slide right to make it opaque!)​9. Menu>Settings>ADW.Launcher>System Preferences>
a. Home button binding> “Move to default desktop”
b. Swipe down actions> “None”
c. Swipe Up Actions> “None”
d. Home Orientation> I use portrait for the home screen because flopping annoys me​10. Menu>Settings>ADW.Launcher>UI Settings>
a. Desktop Dots> Uncheck (useless dots… swipe left/right instead)
b. Secondary Action Buttons> (adds two more buttons to the dockbar)
c. TintAB>uncheck
d. Highlights Press Color> Slide alpha to the right
e. Highlights Focus Color> Slide alpha to the right
f. Show desktop indicator> uncheck (really, you know what screen you are on)​
11. Menu>Settings>Accounts & Sync>Facebook>UNcheck! (refresh manually in the app)
12. App Drawer>News&Weather>Menu>Settings>Refresh Settings>Uncheck
13. Long hold your finger on a blank space on the home screen to add shortcuts, change wallpapers, etc.
14. After everything is set up the way you want.
a. Menu>Settings>ADW.Launcher>Backup and Restore>Backup ADW Settings
b. Menu>Settings>ADW.Launcher>Backup and Restore>Backup desktop configuration​That will make restoring everything after a wipe and reflash so much easier. Between the google backup function of 2.2 and this, all you will have to do is login, wait for everything to download, restore these two xml files, and then restore your widgets into the placeholders.
15. Dialer>Menu>Preferences>View Contact>Text Action for Mobile Only>Check!
MUST have Apps:
• Smart Vibrate for 1.6+ (set longer and custom vibrations)
• GPS Status (for resetting GPS when you get slow locks)
• Google Voice (I laugh at those of you who use Sprint VVM)
• ES File Explorer
Suggested Apps:
• Dolphin Brower (I use the original, but have HD as well, the latter moved to SD using the 2.2 function Menu>settings>application>manage applications>downloaded>(app)>Move to SD
• Bookmarks to SD (I only use the “sync” portion to sync bookmarks to http://bookmarks.google.com
• AK Notepad
• Chrome to Phone
• Yelp
Widgets I use/suggest:
• Clock Widgets: Digi-Clock
• Power Widget: Extended Controls (I have to have airplane mode that “Power Control" doesn’t have)
Do NOT use a task killer. It isn't needed, you don't need one, and they only screw things up. If you want to kill apps manually, just do it through: Menu>Settings>Applications>Running>(app)>Force Stop
CM6 Question&Answer Thread
CM6 Nightlies Thread
CM6 RC1 Thread
HEROC Cyanogen Forum See "Downloads" folder for latest versions

Black taskbar
How to change the taskbar to black without flashing a mod:
A restart is required to change the bar color itself... other changes will eventually update without restart (e.g. clock will change when the next minute ticks over)
The theme is already loaded on the phone, and it is now just a 2 step process:
1. Menu>Settings>CyanogenMod>User Interface>Tweak Extras>Select A Theme>STOCK_Black
2. Reboot the phone.

sladehawke said:
How to change the taskbar to black without flashing a mod:
A restart is required to change the bar color itself... other changes will eventually update without restart (e.g. clock will change when the next minute ticks over)
1. Menu>Settings>CyanogenMod>User Interface>Tweak Extras>Save Current Theme> "before" and save! (making a backup)
2. Menu>Settings>CyanogenMod>User Interface>Notification Colors>Custom Notification Bar> Check!
3. Menu>Settings>CyanogenMod>User Interface>Notification Colors>Bar Color> pick black and tap center
4. Menu>Settings>CyanogenMod>User Interface>Notification Colors>Notifications Ticker Color> pick white and tap center
5. Menu>Settings>CyanogenMod>User Interface>Notification Colors>Notifications Count Color> pick white and tap center
6. Menu>Settings>CyanogenMod>User Interface>Status Bar>Clock Color> pick white and tap center
7. Menu>Settings>CyanogenMod>User Interface>Date and Provider>Date Color> pick white and tap center
8. Menu>Settings>CyanogenMod>User Interface>Tweak Extras>Save Current Theme> "after" and save! (making another backup, useful after reflashing)
9. Reboot the phone.
Click to expand...
Click to collapse
Darn! Wish you had made this post 2 weeks ago! Thanks

Good stuff. I use most of these settings already.
Sent from my HERO200 using XDA App

APK's and packages to remove
Here is a list of apk's and packages that I personally remove... Assuming you have made a recent nandroid backup and have the SDK installed the first step is to start a command shell, adb remount for delete priveleges, start an adb shell, and then change directories
in windows: Start>Run>cmd.exe
Code:
cd\android-sdk-windows\tools
adb remount
adb shell
cd system/app
The next step is to delete/uninstall whatever you want. Most are a two step process (removing "rm" an apk file and then uninstalling "pm uninstall" the server package); but some are just rm'ing the apk file.
Google Talk: useless to me and doesn't break anything else (like Voice or Gmail et al) if you get rid of it:
Code:
rm Talk.apk
pm uninstall com.google.android.talk
News and Weather: I have windows in my house. This app bugs me because of its background data/battery use.
Code:
rm GenieWidget.apk
pm uninstall com.google.android.apps.genie.geniewidget
Keyboard Tutorial: I bet you've already figured out how to use the CM6 keyboard, if not, run this once before you get rid of it:
Code:
rm LatinImeTutorial.apk
pm uninstall com.google.android.latinimetutorial
Live Wallpaper Picker: Live wallpapers are useless eye candy on the underpowered HeroC once the novelty wears off:
Code:
rm LiveWallpapersPicker.apk
pm uninstall com.android.wallpaper.livepicker
POP3 Email Client: I only use Gmail... and pop3 pulling will kill your battery
Code:
rm Email.apk
pm uninstall com.android.email
Bluetooth: I'd rather not look like I'm talking to myself and it isn't installed in my car
Code:
rm Bluetooth.apk
pm uninstall com.android.bluetooth
Tips Widget: really???
Code:
rm Protips.apk
pm uninstall com.android.protips
Speech Recorder: This is not for recording voice notes... run it once if you don't believe me
Code:
rm SpeechRecorder.apk
pm uninstall com.android.speechrecorder
Twatter: no thanks.
Code:
rm Twitter.apk
pm uninstall com.twitter.android
Amazon mp3:
Code:
rm com.amazon.mp3.apk
pm uninstall com.amazon.mp3
First boot setup wizard: If it worked once, you won't need it again
Code:
rm SetupWizard.apk
pm uninstall com.android.setupwizard
Voice Dialer: run it if you don't know what it is... I don't use bluetooth and google voice search works without this installed
Code:
rm VoiceDialer.apk
pm uninstall com.android.voicedialer
VPN Client: If you don't use a corporate VPN, feel free to delete it
Code:
rm VpnServices.apk
pm uninstall com.android.server.vpn
CM6 Wallpapers: I use my own wallpaper and wouldn't be caught dead with a nerdpaper on my phone
Code:
rm CMWallpapers.apk
Car Home:
Code:
rm CarHomeGoogle.apk
rm CarHomeLauncher.apk
You should end up with a little bit more free memory from all of this, probably more than the attached screenshot shows because the screenshot program eats a fair amount of memory.
With Build #75 on 9/2/2010:
Before I removed the bloat:
Other: 48MB in 5 --- Avail:13MB + 68MB in 15
After I removed the bloat:
Other: 34MB in 4 --- Avail: 64MB + 60MB in 15
115MB Internal Available​

Funny thing is happening here... When I try to remove Twitter.apk with adb, I get "Can't remove, directory not empty". But I can remove it with ES File Explorer in root mode. However "pm uninstall com.twitter.android" gives me Failed ..... Is there maybe that's something needs to be removed before Twitter?

trancephorm said:
Funny thing is happening here... When I try to remove Twitter.apk with adb, I get "Can't remove, directory not empty". But I can remove it with ES File Explorer in root mode. However "pm uninstall com.twitter.android" gives me Failed ..... Is there maybe that's something needs to be removed before Twitter?
Click to expand...
Click to collapse
Before you can uninstall the package, you need to remove ("rm") it from the directory.
rm -f /system/app/Twitter.apk
pm uninstall com.twitter.android
http://wiki.cyanogenmod.com/index.php?title=Barebones

I solved it yesterday... No one's talking here about S-OFFing the phone but it is crucial. This thread helped me S-OFFing it properly (made bootable USB with unetbootin), and only then the procedure you told me works...

Related

Removing Stock App Icons

I've removed a bunch of the crap apps that come pre-installed on the Galaxy, however the stupid icons still show up in my app menu. Anyone know how to get rid of these icons??
You can make a custom app draw and place the apps in the order you want. Not sure if you can fully remove an icon but you could create another page and place them all on that.
Edit: How did you remove the stock junk? I've looked in the Setting > apps menu but uninstall was grayed out.
you need to r00t it then use adb shell goto data>app> then use the rm -r command to remove anything u don't want....
I don't know how to create a custom app drawer, can you elaborate?
There has to be a better solution than that btw, anyone else?
open app draw > menu > view type > customizable grid > puts you back at app draw.
Menu > edit > move app icons at will and create multiple pages, pages can have as many for as few icons as you chose.
I have removed these so far from /system/app:
AccountAndSync.apk
AddToHome.apk
Avatar.apk
BuddiesNow.apk
DualClock.apk
DualClock.odex
Email.apk
Email.odex
GoGo.odex
KindleStub.apk
MediaHub.apk
MobiTV.apk
MyAccountStub_4-5-10.apk
Swype-Tips.apk
Telenav.apk
vvm-signed.apk
how did you get them to delete? when i do rm -r BuddiesNow.apk i get a permissions denied
Mookie_Jones said:
how did you get them to delete? when i do rm -r BuddiesNow.apk i get a permissions denied
Click to expand...
Click to collapse
You need to be root.
Mookie_Jones said:
how did you get them to delete? when i do rm -r BuddiesNow.apk i get a permissions denied
Click to expand...
Click to collapse
1. Grab ADB from the SDK from Google and put the tools dir somewhere easy to access via command line
2. Install the USB drivers (I had to install 3 drivers)
3. Root the phone
4. CMD to wherever you put the tools directory
5. Run "adb remount"
6. Run "adb shell"
7. (inside of the shell) "su" to root (only if you get a $ prompt, if you have a # prompt skip this step)
8. "cd /system/app"
9. Delete the above apk's
Do not enter any quotes above, only enter the command inside of the quotes.
Any suggestions on any other apk's to delete?
Simply reboot! That's all I did after I removed a bunch of apk and none of the icons show up anymore
I removed them and now it tells me that my camera doesn't work.
Sent from my SGH-T959 using XDA App
t1n0m3n said:
1. Grab ADB from the SDK from Google and put the tools dir somewhere easy to access via command line
2. Install the USB drivers (I had to install 3 drivers)
3. Root the phone
4. CMD to wherever you put the tools directory
5. Run "adb remount"
6. Run "adb shell"
7. (inside of the shell) "su" to root (only if you get a $ prompt, if you have a # prompt skip this step)
8. "cd /system/app"
9. Delete the above apk's
Do not enter any quotes above, only enter the command inside of the quotes.
Any suggestions on any other apk's to delete?
Click to expand...
Click to collapse
just wanted to post an alt method for those that dont like adb (we're out here, i have yet to install the drivers for this phone lol
Alt Method
1. If you’re rooted, purchase Root Manager (a must have tool for rooted androids)
2. Open Root Manager
3. Select System apps
4. Select App Remover
5. Seleck .apk files you don’t want and remove them.
6. Reboot the phone immediately after
7. Now go to menu
8. settings
9. manage applications
10. you will see apps that have their long name/path name “com.xxxx.xxxx.xxxx” and no icons
11. those are the remnants of the apk files you used to have which were locked (hence needing Root Manager)
12. uninstall these like you would any other non OEM/3rd Party app
13. You should be done!
)
i've removed telenav, mobitv, amazon mp3, and slacker radio so far
Let me know if this works for you guys or if i've missed anything (i am here to learn from this great community as well)
P.S. I had a hard time with Slacker Radio because i deleted the .apk as mentioned above but still had app in the app drawer and it still launched when i selected the icon. Turns out, I had updated it with AppBrain. When i went to uninstall Slacker through manage applications, it removed the update first then gave me a "uninstall unsuccessful". However when i went back to the list of apps, it did remove the icon and revert to "com.slacker.radio" in the apps list, then i went in to uninstall that and it worked fine. So, if any apps have updates on top of "factory", keep that in mind
I have noticed that the slacker radio and layar from samsung/TMO are quite gimped and don't really function very well. They seem to be tied to TMO and wants to charge your TMO account monthly for something. (I didn't really look close, I got to the "we want to charge your account" part and canceled.) I deleted them from the phone and then went to the market and downloaded the "real" apps... Yeah, there is none of that crap on the real apps.
>:-(
Most of the other TMO/Samsung apps did this as well, but I deleted most of them pronto. So if you want to use layar or slacker radio... Do yourself a favor and delete them, and grab them from the market.
I actually use Amazon MP3, so I kept that one.
When, oh when do the CMs a come!? Get along little doggy. Yehaw. *Bullwhip* (Yay, we got Cyanogen!)
I'm just uninstalling them with Titanium Backup (root needed). Things that I think I MAY want back, I just back up... I found that some after uninstalling, you can see in Settings->Applications->Manage, right under 3rd party at 0 bytes. I just uninstalled from there and it appears it removed all traces.
Note: Titanium Backup is acting flaky with restores, apps go back but it FC's before restoring data. Then I have to go back and restore data only. I felt better just reinstalling from market then restoring data only from TB. But that is another thread
could someone tell me what these apk are?
MyAccountStub_4-5-10.apk
vvm-signed.apk
My list of backed up and removed files are
AccountAndSync.apk & odex
Amazon apk
Avatar.apk & odex
AddToHome.apk & odex
DualClock.apk & odex
Email.apk & odex
Infoalarm.apk & odex (daily briefing)
KindleStub.apk
layar-samsung.apk
MediaHub.apk
Memo.apk & odec
MiniDiary.apk & odec
Myfiles.apk & odex
slackerradio.apk
Telenav.apk
Writeandgo.apk & odec
I will probably take out most of the sammy widgets and some of the dull live wallpapers also. Will report back if there are any issues but they all came from other people's "safe" lists. (thanks Jonas.M and t1n0m3n)
SykesAT said:
could someone tell me what these apk are?
MyAccountStub_4-5-10.apk
vvm-signed.apk
My list of backed up and removed files are
AccountAndSync.apk & odex
Amazon apk
Avatar.apk & odex
AddToHome.apk & odex
DualClock.apk & odex
Email.apk & odex
Infoalarm.apk & odex (daily briefing)
KindleStub.apk
layar-samsung.apk
MediaHub.apk
Memo.apk & odec
MiniDiary.apk & odec
Myfiles.apk & odex
slackerradio.apk
Telenav.apk
Writeandgo.apk & odec
I will probably take out most of the sammy widgets and some of the dull live wallpapers also. Will report back if there are any issues but they all came from other people's "safe" lists. (thanks Jonas.M and t1n0m3n)
Click to expand...
Click to collapse
couple of noob questions for you, that addtohome thing, if you uninstall that, what happens when you long press on an empty space on a home screen? launching addtohome brings up the same menu as a long press so i was wondering. Also what are the .odex files and what do they do?
jblade1000 said:
couple of noob questions for you, that addtohome thing, if you uninstall that, what happens when you long press on an empty space on a home screen? launching addtohome brings up the same menu as a long press so i was wondering. Also what are the .odex files and what do they do?
Click to expand...
Click to collapse
long press on home screen brings up.... add to home menu
I believe removing that apk just removes the icon in the app draw, Similar to the Avatar APK which is also just an icon with a link... Not too sure about odex but read they should be removed also. When I "removed" items it was more move to a backup folder on the SD card just incase.
Jeez, I found another one. The kindle app (which I use) was not uninstallable. It had a "remove updates" button instead. I click on remove updates, and it basically uninstalled the app, but left all of the shortcuts on the home screen and the app menu orphaned.
I had to install it from the market, uninstall it from the market, and install it from the market again to get it working correctly. Now I have a proper "uninstall" button and market updates for this app.
It seems to me like every T-mobile/Samsung pre-installed app has something wrong with it. I can't wait until we get a real rom for this phone.
SykesAT said:
could someone tell me what these apk are?
MyAccountStub_4-5-10.apk
vvm-signed.apk
Click to expand...
Click to collapse
vvm-signed.apk - T-Mobile's Visual Voice Mail (If you use this, I recommend deleting this version and installing from the market instead.)
All of the stubs are basically shortcuts to the market to install the real apps. That one is the stub to install the T-Mobile "My Account" app. I removed all of the stubs. They just get in the way IMO.
jblade1000 said:
couple of noob questions for you, that addtohome thing, if you uninstall that, what happens when you long press on an empty space on a home screen? launching addtohome brings up the same menu as a long press so i was wondering. Also what are the .odex files and what do they do?
Click to expand...
Click to collapse
The addtohome apk just puts a shortcut in the app tray to bring up the same menu as when you long press the background. I found it annoying, so I removed it. Removing it does not effect the menu that pops up when you long press an empty space on the home screen.
As I understand it, Odex files are there to speed up boot and to lessen the dalvik-cache usage a bit.
T1n0m3,
thanks again vvm and myact are removed myact added back from market, use GV for VM.
So its correct and safe to delete the the odex files of any apk you've removed?

Defy for the Layman Mac User - Some questions

Installing Mods on a Defy MB525:
A Guide for the Laymen MacOS User
Read In Rich Text:
https://docs.google.com/document/d/15XYKWyjvfHr4pAV5Wtxlt_4KsM-ykmQ4pvLhOt_mzlM/edit
This began as a personal list/guide for myself since much of the info was scattered across the XDA forum and some other websites. I'm still tweaking the guide on my laptop but if anyone thinks this is useful I'd be more than willing to update it here.
I just have some questions listed below as well as a general wonder if anything I'm doing isn't that efficient. Cheers.
I. Questions:
I.A. What Apps should I use on an unrooted Defy for backup?
I.B. Which SBF do I have? (Out-of-the-box)
http://sbf.droid-developers.org/umts_jordan/list.php
I.C. Is there a way to batch restore APKs on Mac like the Windows APK Batch Installer?
http://forum.xda-developers.com/showthread.php?p=23291051
http://www.droidsector.com/blog/2010/06/23/easy-way-to-install-apk-files-using-android-sdk-for-mac/
I.D. Is it necessary to know what color the lens is? Is knowing the camera module enough?
In the Beginning…
II. Rootin'
II.A. Prepping for Unrooted Flashin'
II.A.1. Copy down your SBF info (See I.A.)
II.A.2. Find out which Defy you have:CatLog
II.A.3. Android Development Bridge (ADB is found in the Android SDK)
Download Android SDK http://developer.android.com/sdk/index.html
Drag her into a location such as Applications/Android (The location is of your choice) & unzip. Open the newly unzipped folder "android-sdk-macos" then open "tools."
In Terminal drag and drop "android" located in tools so the command looks like:
$YOURPATH/android-sdk-macosx/tools/
We will write a shortcut so that ADB can be accessed anywhere. In terminal enter:
$ open ~/.bash_profile
.bash_profile should have been opened in a Text editor. At the bottom enter the following(Remember to replace "$PATHto/xxxx" with a drag and drop of the directory):
export PATH=$PATHto/platform-tools:$PATHto/platform:$PATHto/tools=$PATH
i.e.
export PATH=/Users/BobDole/Android/android-sdk-macosx/platform-tools:/Users/BobDole/Android/android-sdk-macosx/platform:/Users/BobDole/Android/android-sdk-macosx/tools=$PATH
Save the file and jump back into Terminal. Reload the sucker:
$ source ~/.bash_profile
In Terminal open up the SDK by typing:
$ android
Press enter. this will launch the SDK Android Manager. Find the folder named, "Tools;" tick it and click the install button.
Sources: http://wiki.cyanogenmod.com/wiki/Howto:_Install_the_Android_SDK
II.A.4. Create a folder on your Mac to organize all your Android files. i.e.
/Users/BobDole/Documents/MotoDefy/
II.A.5. If you have been using your Defy, you will probably want to save your text messages, phone calls, photos etc. Make , non-root Apps and do a manual backup:
SMS Backup
Call Logs Backup & Restore
Source: http://wiki.cyanogenmod.com/wiki/Mo...efore_you_do_anything_.E2.80.94_Make_a_backup
II.A.6. Getroot (Contains):
busybox, copy_rootfile.sh, getroot.sh, rage.bin, su, SuperUser.apk
II.A.7. Your MOD (and any extra files)
II.B. Backup (Unrooted)
II.B.1. Optional: Preform SMS Backup & Call Logs Backup
II.B.2. Duplicate entire SDcard via mounting on a Mac.
i. Plug Defy into a Mac
ii. Defy will now have a new notification at the top, open it and select Memory Card Access.
iii. Right click (or option + mouse-click) and select duplicate.
iv. Relabel as you like and put her into you android folder for safe keeping.
Source: https://motorola-global-en-uk.custh.../defy---transfer-files-from-phone-to-computer
II.C. Rooting
II.C.1. Mount SDcard (if not already mounted) See II.B.2.i.
II.C.2. Extract Getroot.zip and drag unzipped contents onto SDcard. Once done, Eject SDcard.
II.C.3. Change Defy's USB connection to "None."
II.C.4. Go to settings - Apps - Development - USB debugging. Turn this on.
II.C.5. In terminal launch adb:
$ adb shell
Launch getroot.sh by typing:
$ sh $SDcardNAME/Getroot/getroot.sh
Re-enter ADB:
$ adb shell
"$" should now be "#." Time to copy some files including the recovery tool (up next):
# sh #SDcardNAME/Getroot/copy_rootfile.sh
Reboot!
# reboot
This should have Clockwork Recovery load on reboot. Continue to II.B. Flashing to add ROMs and Mods like CM7.
Flash Some Color
III. Flashing
III. A. Prepping for Rooted Flashin
All You Need:
Titanium Backup https://play.google.com/store/apps/details?id=com.keramidas.TitaniumBackup
Your ROMs & MODs
Place them on your SDcard in an easy to find place. (Refer to II.B.2. i - ii for Mounting SDcard instructions) I'd suggest placing them at the root unless you plan on keeping them, in which case I'd place them in a folder designated for ROMs and Mods, i.e.
/SDcard/mods
The Mods and ROMs can be removed after flashing them but you may wish to keep them in a folder for quick flashing between ROMs.
III. B. Backup (Rooted)
III. B. 1. Titanium Backup
Open 'er and in the upper right corner select Batch Backup/Restore - All button, the paper with a check mark onto. (See Image 1.)
Under Backup, find Backup all user apps + system data and press RUN. (See Image 2.)
"Pause active apps" should be ticked.
Press Select all.
Press the green check in the upper right corner to begin backup.
III. B. 2. "Nandroid" Backup - via Clockwork Recovery
Reboot your Defy
Upon reboot when the phone flashes the Blue LED, press Volume Down to load the Bootmenu.
Using the volume buttons to navigate; press the power button to select Recovery > Backup and restore > Backup (All). This will take a few minutes (depending on how much is on the phone and SDcard.
Reboot after backup unless you're installing ROMs/mods.
Sources: http://wiki.cyanogenmod.com/wiki/Motorola_Defy:_bootmenu
III. B. Flash! Installing ROMs & Mods
III.B.1.
Go to Bootmenu
Recovery > Backup and restore
Wipe data/factory reset
When done, Wipe cache partition
When done, Instal zip from SDcard >Choose Zip from sdcard>Your ROM/mod .zip
When finished with all the installs select Go Back and reboot the phone.
Source: http://wiki.cyanogenmod.com/wiki/Motorola_Defy:_Full_Update_Guide#Flashing_CyanogenMod
|||. Reverting to Stock SBF
All You Need:
Windows PC **(Most Likely needed as Mac OS & Defy don't seem to get along via USB during sbf_flash's execution.)
Your Defy's Stock SBF (refer to the notes you took for it in II.A.1):
http://sbf.droid-developers.org/umts_jordan/list.php
IV. Apps of Interest
As of 2012-10
Here's the few essential and near-perfect apps:
AdAway
Blocks a great number of ads in and out of Apps. You can also customize which URLs to allow or not (white listed).
SwiftKey
I don't use too many of the type-saving features (which really are great) but the amount of slight adjustments like key height in Landscape gives the text half an inch of space! That and it's seamless (so far).
Apex Launcher
It's hard to find a smooth Launcher. Apex isn't perfect but it's the closest I've come to finding one with the most space-saving, shortcut-creating, quick-loading, customizing-featured launcher.
Turntable FM
Want continuos music… with no ads? Interested in discovering new artists or songs every time you jump on? Turntable FM has "rooms" which are entirely dj'd by it's users. If there's an open spot feel free to jump on and upload your own tunes! Just make sure you stick with the style or else you'll get "booed" off. It's a great lil' music app I've run on my laptop's browser for a good year now. It can be tempting to take part in the community but even just being a listener and grad a song here and there makes this app so great.
Tasks
Need a quick and easy To-Do list? Hook this batboy up to your Google account and have them sync back and forth. It'll only take 15seconds to add a new "task," and if you put the widget on the desktop, it only take one second to mark completed. This also allows for different lists, notes, due dates and reminders (reminders are only on the app, not on Google's.)
Solid Explorer
The only file browser you'll need. can be very simple but offers so much for such a clean app? I'll take two! Oh and you can swipe between two "windows" and drag and drop!
Honorable Mention:
Photoshop Express
Manually adjust the exposure, saturation, tint, "Black & White," contrast and brightness. Crop, straighten, rotate and flip. The basic adjustments to make your image pop. If you want auto settings like InstantHipster, I mean Instagram, try Streamzoo. Lot's of great auto settings but also offer some manual adjustments. This is the closest app I have found to manipulate photos the way I do… which isn't as close as I'd like but the closest yet.
Currents
I haven't spent much time finding a good RSS reader but Currents works just fine for me so I haven't done too much searching. Plus she's pretty minimal and to the point.
V. Notes & Terms
Terminal Commands
($ represents the username you see, merely a place holder for each line of commands you will type into Terminal. Wait for $ or # to appear before entering new commands.)
Device Identification
SOC or BAYER Camera Module?
a. Install CatLog
b. Open & your camera app.
c. Open Catlog and "Search Logs for SOC, BAYER or Camera
d. If nothing is found try reopening the camera app and repeat these steps.
Model Number MB525 or MB526?
a. Open settings > About Phone > Model No.
b. MB525 is a Defy. MB526 is Defy+.
Manufacturing date: Late January or Later are Red?
a. Look at your battery.
b. There's a Thread about what each letter/number means.
SBF info?
Rooting
Android Rooting is the process of devices running the Android mobile operating system to attain privileged control (known as "root access") within Android's subsystem. http://en.wikipedia.org/wiki/Rooting_(Android_OS)

Noob Notes on Rooting/Romming/Customizing KF 1st-gen 6.3.2

Hi. A week ago I had no clue about any of this so I'm definitely a noob. I wanted to say thanks to everyone on this site who have contributed to the software, who've made guides, and who have answered questions. Special thanks to kinfauns for his Beginner's Guide and his Howto Root, etc. I had already started taking notes and piecing together definitions of the various parts of this process when I found his guide and fell over in worship. Also big thanks to Jcase for his 6.3 root guide, which gave me confidence in the procedure for rooting my 6.3.2 KF. I must also extend my gratitude to Thepooch for maintaining his Index of links for the KF. Unfortunately, I found this later rather than sooner, but it was an immense help anyway. Pokey9000, ChainsDD, TWRP, the CryanogenMod team, and Hashcode deserve thanks and recognition for their development and maintenance of software. (Links to each of these pages in next post.)
My story is that from the first day I bought the KF I had planned on ditching Amazon's crappy OS, but I just didn't have time or get around to it for years. I finally got googling the other day. I saw some simple directions, but not knowing what certain things did I wasn't willing to go running programs or commands on my computer and KF without having a better understanding and trust in the authors' instructions, so I kept reading. As I always do with complicated procedures that I'll probably forget by the time I do it a second time, I began taking some fairly detailed notes, especially on procedures. When I felt knowledgeable enough, I gave it a go and had only a minor hiccup. In the spirit of helping, I'm posting those notes here for others to use.
Experts, if you care to please feel free to correct anything you see that is wrong, or make suggestions. I'll probably incorporate some corrections, but I doubt I'll maintain this for too long. In other words, read the comments, people.
Noobs, please be aware that this is in no way a fully proper and tested procedure, nor is it in any way definitive. It is merely the things I learned starting from zero and getting to the point where I was comfortable enough to move forward. So keep this in mind. It does, however, also include many of the links and sources for my information, which should also help people make their own determination on things when it's clear I'm speculating. It also extends beyond the setup process into discussing apps a bit, which should be helpful for the complete noob like me.
###############################################
##### Android / Kindle Fire Rooting and Romming #####
###############################################
Read this (skip the windows driver section, but check out the section after that for fastboot and adb commands):
----- http://forum.xda-developers.com/showthread.php?t=1552547
And then this:
----- http://forum.xda-developers.com/showthread.php?t=1638452
And then note this for v6.3:
----- http://forum.xda-developers.com/showthread.php?t=1568340
And here is the repository for links to ROMs (including stocks), bootloaders, recoveries, et al.
----- http://forum.xda-developers.com/showthread.php?t=1859851
FYI: The Kindle Fire uses the ARM architecture in an TI OMAP 4430 chip.
----- http://www.zdnet.com/blog/hardware/inside-the-kindle-fire-processor/16317
----- The OMAP 4430 is a dual-core ARM A9 part clocked at 1GHz built using 45nm CMOS process. It features Symmetric Multiprocessing (SMP) and an integrated POWERVR SGX540 graphics accelerator (supporting OpenGL ES v2.0, OpenGL ES v1.1, OpenVG v1.1 and EGL v1.3) for 3D games and UI. It also features IVA 3 hardware accelerators to allow full HD 1080p video encode/decode. The chip also features on-board USB 2.0 support.
----- FYI: The 1st-generation Kindle Fire (which I have) is 'codenamed' Otter. The 2nd-gen is Otter2.
----- ----- http://wiki.cyanogenmod.org/w/Otter_Info
###################
#### Key Terms #####
###################
ADB (Android Debug Bridge) - Communicate with and control an Android-powered device over a USB link from a computer; part of the Android SDK; has a client, server, and daemon.
----- http://www.androidauthority.com/about-android-debug-bridge-adb-21510/
Code:
./adb help
Fastboot - A diagnostic and engineering protocol that you can boot your Android device into so you can modify the file system images from a computer over a USB connection, that is, you can flash roms to it. Is part of the ASDK (Requires more than the SDK - does it?), and specific USB drivers for windows. For fastboot to work, the device has to be in fastboot mode in order for the computer to send commands to it.
----- http://www.elinux.org/Android_Fastboot
Code:
./fastboot help
----- Usually commands are in the format: fastboot <operation> <kf_source/destination> <file>
----- So to change the splash screen image, something like:
----- ----- http://forum.xda-developers.com/showpost.php?p=21262416&postcount=126
Code:
fastboot flash splash1 splash1.img
Recovery Mods - Essentially a rudimentary OS / advanced bootloader. Many are ROM managers that allow you to switch between various OS's you have stored on your device in ROM format, or to add/delete them. You basically wipe the system then install a new one each time you switch ROMs. Recovery mods also serve backup functions, and allow tethering (so you can use your phone as an internet connection for your laptop). The term 'recovery' comes from Android's /dev/mtd/mtd1 recovery partition, as compared to the /dev/mtd/mtd2 boot partition; the latter is the primary boot holding the kernel and initrd with rootfs for default boot, while the former is the backup boot holding another kernel and initrd with rootfs in case the primary borks; note that mtd3 is the system partition holding the bulk of the Android system files, mtd4 is the cache which is only used for OTA (Over The Air Amazon/Sprint/Verizon updates) so largely unused, and mtd5 is userdata for user-installed apps and data.
----- http://www.elinux.org/Android_Fastboot
----- TWRP (Team Win Recovery Project) is one popular recovery, built on ASOP (Android Open Source Recovery) recovery.
----- ----- http://www.teamw.in/project/twrp
----- ----- http://teamw.in/project/twrp2/79 <- the kindle fire page
----- CWM (ClockworkMod) is another recovery, but there is some sort of bug with certain chips in 1st-gen Kindles that will brick sometimes with CWM, so don't use it.
----- ----- http://www.clockworkmod.com/
----- COTR (Cannibal Open Touch Recovery) is a newer recov. Open as in open source, touch as in touch screen.
----- ----- http://www.redmondpie.com/cannibal-...ures-of-all-custom-recoveries-under-one-hood/
Bootloader - Just like a linux bootloader. This is the first thing you install (after you get root access). The Kindle requires a special one because there needs to be a way to access recovery with just one button (as opposed to a cell phone).
----- FFFe (FireFireFire Extended) - Seems to be the most popular for Kindle Fire. The extended, I believe, is a variations where dual boot is enabled (see Recovery Mods info to get an idea of how that works.) To use it, when the logo pops up after you turn on the Fire press the power button. It also does some other stuff, like make fastboot easier (I think the usb detection triggering fastboot is the 1st stage, and the rest of FFF is second). I believe that FFF is based on kf_u-boot (which is now outdated?).
----- ----- http://forum.xda-developers.com/showthread.php?t=1369405
----- ----- http://forum.xda-developers.com/showthread.php?t=1615093 dual boot with FFFe
----- kf_u-boot - Pokey9000's (from http://forum.xda-developers.com) KF-specific fork of the firmware Das U-Boot (typically abbreviated as just "U-Boot") for Embedded PowerPC, ARM and MIPS systems.
----- ----- http://www.denx.de/wiki/U-Boot/
Bootmode - "As the Kindle Fire powers up or reboots, the bootloader begins to do its job and checks for the bootmode of the device. The bootmode tells the bootloader how it should proceed in the boot up process. Most users will just be concerned about three of these bootmodes: normal (4000), fastboot (4002), and recovery (5001). In a great majority of the cases, the Kindle Fire will be in the normal bootmode setting, telling the bootloader to continue right on to booting the operating system. However, there are circumstances when the device needs to be started up directly in fastboot or recovery mode. This is possible by changing the bootmode setting and rebooting the device. Bootmode is a persistent setting, meaning the Kindle Fire will remember this new setting until it is changed again. No amount of restarts or ROM flashes will change the bootmode until it is explicitly changed again."
----- http://forum.xda-developers.com/showthread.php?t=1552547
SU and Superuser.apk - Superuser is an app that manages what apps on your rooted device have access to the su binary. Apps that are granted su have elevated permissions and can modify just about any part of the system. Superuser.apk runs as any other app and gives you, the user, a place to see what apps you have allowed or denied, as well as view a log of which apps have used su when. The su binary is what other apps call when they need superuser rights. The binary checks the database maintained by Superuser.apk to determine if you have already granted rights to the requesting app, and if not tells Superuser.apk to display a prompt asking you for permission. Superuser comes pre-installed on any rooted ROM. In fact, without it, you don’t have a rooted device at all. You cannot uninstall it, it lives on the system partition with other apps that came pre-installed on your device. It can be updated from the Market if the developer of your particular ROM has used a version that is signed with the proper keys, which are publicly available on my github (see link).
----- http://androidsu.com/superuser/ (You want the ARM architecture for the KF.)
##########################################
##### Set up ADB and Fastboot (via ASDK) #####
##########################################
http://androidtweak.in/general/installing-and-setting-up-android-sdk-adb-and-fastboot-on-gnulinux/
1. Download and unpack the Android SDK from Google to /opt. Get the full ADT bundle.
----- http://developer.android.com/sdk/index.html#ExistingIDE
2. Inside its directory, inside sdk/tools, run ./android.
3. In the SDK Manager that opens check that under Tools the Android SDK Platform-Tools are installed. If not, install them.
4. Exit the SDK Manager.
5. Verify that there is now a sdk/platform-tools directory, and that adb and fastboot are in it.
6. If you want, you can add blah/sdk/platform-tools to your $PATH.
Code:
PATH=$PATH:blah/sdk/platform-tools
####################################################
##### Get ADB to recognize the device (Kindle Fire) #####
####################################################
1. Plug in your device. The screen that comes on is called Mass Storage Mode, which allows you to mount /mnt/usb (with fstab setup correctly: /dev/sdh /mnt/usb auto defaults,noauto,user,uid=1000,gid=100 0 0 # kindle fire). Pressing 'Disconnect' on the Kindle will turn off this mode. The following I did with it on, but I don't think it matters.
2. Run 'adb devices'. If you see the first results, ignore the rest of this section.
----- https://rechtzeit.wordpress.com/2011/02/24/adb-devices-shows-no-permissions/
Code:
adb devices
List of devices attached
0123456789012345 device
----- If you see the following, then udev is unable to determine the permissions for this USB device.
Code:
adb devices
List of devices attached
???????????? no permissions
3. Verify the device is connected and get some basic info. (If you're unsure which device is yours, do a lsusb before plugging it in as well.)
Code:
lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 004: ID 1949:0006 Lab126
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
...
----- So the Kindle is device 004 on bus 002, the vendor ID# is 1949, and 0006 is the device #.
4. Get more info. Note that the first result will probably be the last usb device plugged in, but verify by looking at the idVendor and idProduct as well as the manufacturer and product attribute lines.
Code:
udevadm info --attribute-walk --name=/dev/bus/usb/002/004
looking at device '/devices/pci0000:00/0000:00:13.2/usb2/2-5':
KERNEL=="2-5"
SUBSYSTEM=="usb"
DRIVER=="usb"
ATTR{configuration}==""
ATTR{bNumInterfaces}==" 2"
ATTR{bConfigurationValue}=="1"
ATTR{bmAttributes}=="c0"
ATTR{bMaxPower}=="500mA"
ATTR{urbnum}=="1473"
ATTR{idVendor}=="1949"
ATTR{idProduct}=="0006"
ATTR{bcdDevice}=="0216"
ATTR{bDeviceClass}=="00"
ATTR{bDeviceSubClass}=="00"
ATTR{bDeviceProtocol}=="00"
ATTR{bNumConfigurations}=="1"
ATTR{bMaxPacketSize0}=="64"
ATTR{speed}=="480"
ATTR{busnum}=="2"
ATTR{devnum}=="4"
ATTR{devpath}=="5"
ATTR{version}==" 2.00"
ATTR{maxchild}=="0"
ATTR{quirks}=="0x0"
ATTR{authorized}=="1"
ATTR{manufacturer}=="Amazon"
ATTR{product}=="Kindle"
ATTR{serial}=="123456789012345"
5. If you haven't up to this point, switch to root.
6. Create a udev rules file for the device.
Code:
cd /etc/udev/rules.d/
vi 99-android.rules
----- Note that udev is being replaced by hal (at least in Slackware), and so a rules/policy file will probably need to be made in /etc/hal/fdi/policy instead of this in the future.
7. Enter the following into it and save. You should be able to leave out owner:group to let anyone use, and there are probably several other variations that will work (e.g., I believe instead of SYSFS you can have ATTR or ATTRS).
Code:
SUBSYSTEM=="usb", SYSFS{idVendor}=="1949", OWNER="me" GROUP="users", MODE="666"
8. Try it again as root, and then as your user. You should now see the serial number from the udevadm command.
Code:
adb devices
List of devices attached
123456789012345 device
9. You will also need to add a second, identical line changing the idVendor attribute to "18d1". This may not become a problem for you, but when the KF boots into fastboot mode it ceases to be recognized as a standard Kindle and instead looks like this:
Code:
lsusb
...
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 002: ID 18d1:0100 Google Inc.
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
######################
##### Temp Root It #####
######################
In order to gain root access to the device, you must use one of several methods. Which one you use will depend on the device and its current system (firmware?) version. To find your version go to Settings -> More -> Device -> System Version. As of this writing (2013-09-20), my 1st-gen Fire is version 6.3.2. The generic Android root util called SuperOneClick is known to work on at least the 6.2 Kindle software versions. You can also install an app on your Kindle called ES File Explorer (Apps -> Store -> search for 'ES', select the app, click Free, click Get App, click Install, etc., Open App) that has a root util that comes installed in it (which should show up right there, check out youtube vids for details). You can also do it by hand using fbmode (known to work with 6.2 through 6.3.1). Note that most of the one click type utils just batch run fbmode commands or similar by hand methods.
1. Go to Settings -> More -> Device
----- 1a. -> Allow Installation of Applications, change it to on.
----- 1b. Be sure you see Battery Fully Charged. If something goes wrong, you don't want it running out of juice before you can fix it.
2. Connect your device to the computer, and disconnect (aka turn off Mass Storage Mode).
3. Verify that adb is working. The prompt in the first result means it is. If it's not you'll see the device not found error. (Be sure to exit the adb shell when done.)
Code:
adb shell
$
$ exit
adb shell
error: device not found
4. (Be sure to exit the adb shell first.) Check to see if you already have root access. If you get the first result, then you have root access and can skip the rest of this section.
Code:
adb root
adbd is already running as root
adb root
adbd cannot run as root in production builds
5. Get into fastboot mode somehow, fbmode is the easiest. This is a workaround to get you into fastboot mode when you don't have root privileges. Note that once you have root privileges, you can change the bootmode with "adb shell idme bootmode 4002; adb reboot" instead. (Also, I'm not sure if fbmode gives permanent root privileges.) First download fbmode and unzip it into the platform-tools dir.
----- http://forum.xda-developers.com/showthread.php?t=1414832
----- MD5sum: 091dc2ca822eab525d85aad629add7d3 fbmode.zip
----- I extracted it to sdk/platform-tools/fbmode(by_pokey9000).
----- 5a. Place the fbmode file onto your KF in /data/local/tmp. (You can also use /data/local. The /data partition is write accessible to unprivileged users so that's why we use it.)
Code:
adb push fbmode(by_pokey9000)/fbmode /data/local/tmp
3225 KB/s (510876 bytes in 0.154s)
----- 5b. Change the file to executable by running a command in a remote shell on the KF, and verify.
Code:
adb shell chmod 755 /data/local/tmp/fbmode
adb shell ls -l /data/local/tmp/fbmode
-rwxr-xr-x shell shell 510876 2011-12-29 01:32 fbmode
----- 5c. Now run the binary via a remote shell, and verify.
Code:
adb shell /data/local/tmp/fbmode
----- 5d. Reboot the device (will reboot into fastboot).
Code:
adb reboot
6. Immediately continue with installing a bootloader.
############################
##### Install a Bootloader #####
############################
There are lots of these available. Currently (2013-09-20) FireFireFire Extended v1.4a seems to be the most popular. Note that the older version of FFFe (prior to 1.4) caused the yellow triangle boot hang problem you may read about. As mentioned in the Key Terms above, you will need a bootloader specifically designed for the Kindle Fire so you will be able to access the recovery partition/software using the only (power) button.
1. Download FFFe, and unzip it into the platform-tools dir.
----- http://forum.xda-developers.com/showthread.php?t=1632375
----- ----- https://code.google.com/p/kindle-alt-roms-cm10-cm9-dev/downloads/detail?name=fffe-1.4.1-awidawad.zip
----- ----- SHA1: b99620e382ea5d01cb6fa9e465ab719f63621780
----- or: http://goo.im/devs/Hashcode/otter/bootloader/ <- this one is hashcode's and I think I trust it more.
----- ----- MD5sum: 419c53b922c963082454b14b7de75a90 fff-u-boot_v1.4a.zip
----- I extracted this into sdk/platform-tools/fff-u-boot_v1.4a(by_hashcode)
2. Flash the fff binary to the bootloader partition. The binary will be in the cache directory. I'm not sure you even need the META-INF files or the padfile. I expect it would have been fine to go from sdk/platform-tools/fff-u-boot_v1.4a(by_hashcode)/cache/fff-u-boot_v1.4a.bin, however, I'm not sure how important the other files are so I unzipped it all to the sdk/platform-tools dir and used it from there. The -i 0x1949 switch is required for non-root privileged devices.
Code:
fastboot -i 0x1949 flash bootloader fff-u-boot_v1.4a.bin
sending 'bootloader' (243 KB)...
OKAY [ 0.065s]
writing 'bootloader'...
OKAY [ 0.177s]
finished. total time: 0.242s
3. Continue immediately with flashing the recovery.
##########################
##### Install a Recovery #####
##########################
1. Download TWRP. As of this writing (2013-09-20) TWRP is at 2.6.3, and we want the Otter. (Note the codename for KF 1st-gen is Otter. So I assume Otter is what we want, but I've seen people mention or reference Blaze a lot. I'm not sure what that is, but since the references were usually a year or so old and since I know Otter will be correct, I'm going with Otter.)
----- http://teamw.in/project/twrp2/79
----- MD5sum: 8b5e6f15ab88ce52022991925dcd4ac0 openrecovery-twrp-2.6.3.0-otter.img
----- I extracted this directly into sdk/platform-tools/.
2. Flash the openrecovery image to the KF's recovery partition. The -i 0x1949 switch is required for non-root privileged devices.
Code:
fastboot -i 0x1949 flash recovery openrecovery-twrp-2.6.3.0-otter.img
sending 'recovery' (6564 KB)...
OKAY [ 1.648s]
writing 'recovery'...
OKAY [ 1.416s]
finished. total time: 3.064s
3. You now need to reboot the KF. Do not do 3a, but read because in Jcase's 2.6.3 instructions, he tells you:
----- http://forum.xda-developers.com/showthread.php?t=1568340
----- 3a. Your device will now boot into twrp recovery, and flash the firefirefire bootlaoder. When done it will prompt you to reboot. Upon reboot you will get stuck on the "yellow triangle" screen of firefire fire.
Code:
fastboot oem idme bootmode 5002
fastboot reboot
----- I have no idea what he's talking about. Those commands did not work for me. When I figured out how to restart in a manner that made more sense (see 3b.), I selected to boot into the TWRP recovery, and as far as I could tell, TWRP did not flash its own version of FFF, nor did it reboot. It simply started TWRP. I poked around in there. It did at one point tell me that it was not yet rooted and asked me if I wanted to have it do it, but I declined to follow the rest of Jcase's instructions. Point of the story: ignore 3a, and do 3b instead.
----- 3b. Reboot the KF.
Code:
fastboot -i 0x1949 reboot
rebooting...
finished. total time: 0.000s
4. This will now boot into the FFF bootloader, which will offer you a choice prior to booting into the primary OS of booting into recovery. You will want to do that for the next commands to work. You need to immediately continue to permanently root it.
############################
##### Permanently Root It #####
############################
1. Get Superuser/Su and unzip it. As of this writing (2013-09-20) the latest is Superuser 3.2 RC3. The KF uses the ARM chip architecture so we want the ARM version (see above in the Key Terms section). Note that you need to make its own directory to unzip it into because all but two of its files are the same that as those that came with FFF, and in case they are different (use diff) you don't want to replace them; if they are different, you'll have to make the call which versions you want to use. The two files you do want no matter what will be in the system/ directory.
----- http://androidsu.com/superuser/ (You want the ARM architecture for the KF.)
----- MD5sum: 6462ac14cd38ed7c539ce3e29a6b92a8 Superuser-3.2-RC3-arm-signed
----- I extracted it into sdk/platform-tools/Superuser-3.2-RC3-arm-signed(by_ChainsDD)
----- 1a. Once in recovery, mount the /system partition in read/write mode. ("adb shell remount system" might also do this, and it will change a mounted /system between r/w and ro.)
Code:
adb shell mount system
----- 1b. Copy su to the right place in /system.
Code:
adb push Superuser-3.2-RC3-arm-signed(by_ChainsDD)/system/bin/su /system/xbin/su
3447 KB/s (85096 bytes in 0.024s)
----- 1c. Change the ownership to root only (so nobody can mess with it).
Code:
adb shell chown 0.0 /system/xbin/su
----- 1d. Change the permissions to executable (so anyone can try to get su), and verify.
Code:
adb shell chmod 06755 /system/xbin/su
adb shell ls -l /system/xbin/su
-rwsr-sr-x 1 root root 85096 Feb 29 2008 /system/xbin/su
2. Disable the root checker by renaming the executable. (I suppose you could just chmod a-x it, but this is how the pros do it, so I'll stick with their method.) I'm not entirely certain what check_rooted does, but I assume it is used by Amazon and will cause headaches.
Code:
adb shell ls -l /system/bin/check_*
-rwxr-xr-x 1 root shell 54680 Aug 1 2008 /system/bin/check_prereq
-rwxr-xr-x 1 root shell 5556 Aug 1 2008 /system/bin/check_rooted
adb shell mv /system/bin/check_rooted /system/bin/check_rooted.bak
adb shell ls -l /system/bin/check_*
-rwxr-xr-x 1 root shell 54680 Aug 1 2008 /system/bin/check_prereq
-rwxr-xr-x 1 root shell 5556 Aug 1 2008 /system/bin/check_rooted.bak
3. Return to normal bootmode (4000), and reboot. (Actually I'm not sure we ever changed it since we didn't use Jcase's "oem idme bootmode 5002" command, and I'm pretty sure fbmode only changes it for 1 reboot. But doing this will not hurt anyway.)
Code:
adb shell idme bootmode 4000
<idme> write 4000 to offset 0x1000
adb reboot
4. After reboot, when you're back in Amazon's default OS, install the Superuser app. It will appear in your carousel. Play with it.
Code:
adb install system/app/Superuser.apk
7539 KB/s (1500495 bytes in 0.194s)
pkg: /data/local/tmp/Superuser.apk
Success
######################################
##### Make A Full (up to 8GB) Backup #####
######################################
This will back up all partitions and the hidden NVRAM data. If you ever have to restore from scratch, you can get fastboot to write a new partition table and then fastboot in these backups. Need >8GB local free, and adb installed and able to get a shell.
----- http://forum.xda-developers.com/showthread.php?t=1369405
1. Make a new directory to store the dump files and cd into it.
Code:
sudo mkdir /mnt/1.2tb.pri_my300/KindleFire
sudo mkdir /mnt/1.2tb.pri_my300/KindleFire/preROMing.backup
2. Make sure that your KF is running adb as root (as above in #? of the Root It section).
Code:
adb root
adbd is already running as root
3. Then pull the blk copies from the device. This will place them on the root fs, and then I move them to the backup directory. (I'm sure you can direct them to the end destination with pull, but I didn't figure that out before I ran this.)
Code:
for F in `seq 1 12`; do adb pull /dev/block/mmcblk0p$F; done
adb shell idme ? > nvram.txt
sudo mv mmcblk* nvram.txt /mnt/1.2tb.pri_my300/KindleFire/preROMing.backup
#######################
##### Install a ROM #####
#######################
http://forum.xda-developers.com/showthread.php?t=1638452
1. Download the one you want from the link. Hashcode, who is active on xda-developers, maintains the CryanogenMod, and he seems to be trusted to do quality work so I'll use the latest CM ROM. As of this writing (2013-09-20) the CryanogenMod-10.2 is current. Note the codename for KF 1st-gen is Otter (not Otter2, not sure what blaze is for).
----- http://forum.xda-developers.com/showthread.php?t=2410112
----- http://goo.im/devs/loosethisskin/otter/cm-10.2
----- MD5sum: 7a5c807f410ecaeb37220bda8c7b4eee cm-10.2-20130913-0258-otter-sgt7.zip
2. Copy the ROM.zip file to the /sdcard directory on the KF, and checksum it.
Code:
adb push cm-10.2-20130913-0258-otter-sgt7.zip /sdcard
6569 KB/s (186800117 bytes in 27.769s)
adb shell md5sum /sdcard/cm-10.2-20130913-0258-otter-sgt7.zip
7a5c807f410ecaeb37220bda8c7b4eee /sdcard/cm-10.2-20130913-0258-otter-sgt7.zip
md5sum cm-10.2-20130913-0258-otter-sgt7.zip
7a5c807f410ecaeb37220bda8c7b4eee cm-10.2-20130913-0258-otter-sgt7.zip
2. Definitely check and follow the instructions on the specific ROM's info page. In this case, I believe it is the standard methodology. Since it tells us to also install Gapps, we need to download that as well. (See Install Gapps section below for more info.)
----- 2a. Download it. In my case, Hashcode has given instructions to get it the following link. You are to match up your CryanogenMod version with the appropriate Gapps version, which is made easy with the table at the top.
----- ----- http://goo.im/gapps
----- ----- MD5sum: 1f51b5cc6370c1f45dc951109b6ce6ed gapps-jb-20130813-signed.zip
----- 2b. Copy it to the KF, and checksum it.
Code:
adb push gapps-jb-20130813-signed.zip /sdcard
adb shell md5sum /sdcard/gapps-jb-20130813-signed.zip
1f51b5cc6370c1f45dc951109b6ce6ed /sdcard/gapps-jb-20130813-signed.zip
3. Wipe cache, dalvik, data and system (full wipe). Wipes typically remove the existing files in the data and cache partitions that could interfere with the operation of the new system software. A "Factory Reset" will delete any installed apps, software/network settings, etc. It will not touch the /sdcard directory that contains music, eBooks, and files of that nature. In our case, we need to do the four listed by Hashcode.
----- 3a. From the main menu of TWRP, Wipe -> Advanced Wipe -> Select Partitions to Wipe
----- 3b. Check the dalvik, data, cache, and system boxes.
----- 3c. Swipe to Wipe.
4. Install from your ROM.zip, and tell it to install Gapps while you're at it.
----- 4a. From the main menu of TWRP, "Install"
----- 4b. Navigate to the /sdcard directory on the left (should be the default the first time you use TWRP) and select the cm-10.2-20130913-0258-otter-sgt7.zip file from the list on the right.
----- 4c. Check the box "Zip file signature verification?" if you've placed .md5 files with the zips. Even though you already have, it's nice to make sure TWRP agrees with you.
----- 4d. Press "Add More Zips"
----- 4e. Select the gapps-jb-20130813-signed.zip file from the right.
----- 4f. Swipe to flash install them.
5. When it's finished and you are prompted, press "Reboot.
6. When you reboot, CM will take some time to get going the first time, just let it. Then walk through the setup process. All your setings, like the Wi-Fi password, will be gone and need to be recreated.
7. Cleanup by deleting the zips within the File Manager app.
###################################
##### Install Google Apps (Gapps) #####
###################################
You may not actually need this. It may come installed with the ROM, but you'll definitely want Gapps either way because this includes Google Marketplace where you can get all the Android apps.
1. Download it. In my case, Hashcode has given instructions to get it the following link. You are to match up your CryanogenMod version with the appropriate Gapps version, which is made easy with the table at the top.
----- http://goo.im/gapps
----- MD5sum: 1f51b5cc6370c1f45dc951109b6ce6ed gapps-jb-20130813-signed.zip
###################################
YOU'RE DONE MOTHER****ER!
Play around.
Try some other stuff:
###################
##### ~/.android #####
###################
It's useful to have a single place on your main box to keep everything you want/need. So:
1. Make a ~/.android dir and cd into it.
2. Make some dirs.
----- .Bootloader
----- .Recovery
----- .ROM
----- .ROM/CM-10.2
3. link to platform tools
Code:
ln -s ../../../opt/adt-bundle-linux-x86_64-20130917/sdk/platform-tools/ .platform-tools
4. Move the fbmode and superuser dirs from there to here.
----- .fbmode(by_pokey9000)
----- .superuser-3.2-RC3-arm-signed(by_ChainsDD)
5. Move fff-u-boot_v1.4a(by_hashcode) into .Bootloader, move openrecovery-twrp-2.6.3.0-otter.img into .Recovery, move cm-10.2-20130913-0258-otter-sgt7.zip and gapps-jb-20130813-signed.zip in .ROMS/CM-10.2 (you move gapps with it because it is fairly specific to the ROMs)
6. CD to the real /opt/.../platform-tools. Symlink to those six dirs and files.
#####################
##### App Backup #####
#####################
Besides complete backups, you can also simply save the apps you have installed to you 'puter. This is useful before you go uninstalling **** that you only think you don't need. Of course, there are apps that will do most of the following for you, namely Titanium Backup, which you should probably use since they'll sync things instead of just overwriting.
1. Navigate to your ~/.android/ director.
2. mkdir an apps folder, an apps/system, and an apps/data.
3. Copy all the apk files to your pc. Note that the data/app files are all unimportant apps that you've downloaded. The system ones are what you really need to be concerned about removing.
Code:
adb pull /system/app ./app/system
pull: building file list...
pull: /system/app/FaceLock.apk -> ./FaceLock.apk
pull: /system/app/VoiceSearchStub.apk -> ./VoiceSearchStub.apk
pull: /system/app/TalkBack.apk -> ./TalkBack.apk
...
adb pull /data/app ./app/data
pull: building file list...
pull: /system/app/FaceLock.apk -> ./FaceLock.apk
pull: /system/app/VoiceSearchStub.apk -> ./VoiceSearchStub.apk
pull: /system/app/TalkBack.apk -> ./TalkBack.apk
...
----- You can also look at the package list via the package manager, and include their associated files (-f) if you want.
Code:
adb shell pm list packages
...
adb shell pm list packages -f
...
----- Or grab the list files directly and look at them.
Code:
adb pull /data/system/packages.xml .
adb pull /data/system/packages.list .
----- You can install or uninstall via adb (assuming you have root access and system is mounted rw)
Code:
adb root
adb remount (or adb mount -o rw,remount /system)
adb install <package name>
adb uninstall <package name>
----- Or more viciously:
Code:
adb shell rm -f /system/app/<apk-name>.apk
----- Or via the package manager:
Code:
adb shell pm uninstall <package-name>
###############################
##### Remove Unneeded Apps #####
###############################
Check out this page to give you a list of apps included with your specific CM OS version. Then remove ones you don't want. You will want to use ES File Explorer to shutdown, clear data/cache, then uninstall these. For some you'll need to use ES in root mode, which can be found in ES's settings.
[couldn't post the url]
[couldn't post the url]
Android Keyboard (AOSP) - If you replace this with a different keyboard, you can remove this safely. I like Hacker's Keyboard, but honestly I don't feel quite safe eliminating this one altogether.
Apollo - Music app/widget. You will probably want to replace with something else that handles more codecs.
Bluetooth Share - The KF doesn't have bluetooth.
Bubbles - This and other wallpapers can obviously be removed.
Calculator - Might want to replace this with a better one.
Calendar, Calendar Storage - You can remove this, but Google uses it to sync with your Google account. More importantly, it appears that _LOTS_ of calendar apps use Google's Calendar/Sync as a proxy. So even if you find a different calendar app, it might need Google's stuff here to work correctly. Leave it alone.
Cell Broadcast (Receiver) - This app operates on a different frequency than primary cell/data/text service. This means that when an emergency happens and too many people are calling each other at the same time, the cell carriers, and really the govt, can broadcast emergency info that will get to everyone. You can also use it to listen to a specific channel if you know someone is broadcasting on it. Obviously, since the KF doesn't have cell service, this is completely useless and can be removed.
Clock and cLock - You can remove both, but the system Clock might need to be kept for certain apps to function. cLock doesn't need to be there. I did take out both, and FancyWidget's clock kept working so it obviously didn't depend on this app and took date/time from the system itself. That said, Clock does provide an alarm, and so might possibly be the primary alarm service.
Downloads & Download Manager - You might be able to replace these, but why bother.
DSP Manager - Digital Sound Processing. This is basically an equalizer, but does let you make different settings for speakers, headphones, etc. There are probably better, but why bother. More, do you really need this at all? Wait and find out.
Email - An email client. Can be replaced by something else. You don't need this as long as you're solely using gmail or other web-based email.
Exchange Services - This is a client for MS Exchange. It provides the server-client sync.
Face Unlock - Provides capability to unlock screen with face recognition. With no camera, the KF has no need for this whatsoever.
File Manager - If you've replaced it with ES File Explorer, you can remove this. However, I think it's not a bad idea to keep this around as a backup. Of course, with the ability to use ADB to install, it's really not necessary.
Focal - This is CM's replacement for android's standard camera app. The KF has no camera, remove this.
Gallery - Is a simple 3d photo browser. There are probably better ones, but since your KF doesn't have a camera this will only be useful for pics you grab from the net. You probably will not need anything better.
Google Ears - This is a widget that will ID songs for you by listening. This is a problem since the KF doesn't have a built in mic. It might work via a headset device's mic. You can try it and see. I'm not sure if this might also ID a song playing through the KF, like if you're listening to internet radio.
Google Feedback - This is the app that reports back to Google when apps bork. I always turn error reporting off, but removing this would ensure nothing hinky takes place without your knowledge. On the other hand, other Google apps might wig out if it's not there. CM says it's safe to remove.
Google One Time Init - This runs the first time you start the device. That CM link says that it conflicts with another Google app. Remove it after the first run.
Google Partner Setup - Not sure what it does, but according to the second link it's no problem to remove. I removed it from the startup list so far.
Live Wallpaper Picker - Yeah, you need this.
Market Feedback Agent - It's a Google app that allows other apps to call it and ask you to provide market feedback, you can safely kill or remove it.
Media Uploader - This is an app for use with Swingular.com that lets you take pics of yourself and share them to people you're cybering with. It has things like auto-faceblurring. You can use this without a cam, but with the KF it seems unlikely. Remove.
Mobile Data - Used for data xfer on cell carrier network. Pretty sure it won't hurt to remove.
Mobile Network Config - Used for configuring cell network. Pretty sure it won't hurt to remove.
Movie Studio - This is a fairly low-rated video editor. It was probably included by CM for size and/or simplicity. You don't really need a vid editor on your KF since with no camera you can't take vids. I honestly can't imagine needing to replace this, so remove.
News & Weather - A simple news reader app. Probably should find a replacement.
Notepad3 - This is a simple text editor app. It is very small, so you could probably leave it even if you replace it with something else.
One Time Init - See Google One Time Init above. I think these are two parts of the same thing, but this one might be to trigger the CM Account app and prompt for registration.
Picasa Uploader - Uploads pics to your Picasa account. Since no camera on KF, remove this.
Pico TTS - Is a service for Text to Sound. It might only be used by TalkBack below, in which case you can eliminate it. But, it also might be used by other TTS apps, in which case you'll probably want it around.
Provider Telephony - Provides APIs for monitoring the basic phone information, such as the network type and connection state, plus utilities for manipulating phone number strings. Probably can safely remove this.
Search Applications Provider - This has to do with Google Search. Apparently there's a bug in it that makes this slow down search. I don't think it's a good idea to remove this, but you should disable it in the App Manager. This could, however, cause problems so keep it in mind.
Setup Wizard - Runs the first time you start phone. Remove it.
SMS Push - This has to do with text messaging and also WAP Push. You can probably remove it, but might want to wait.
----- [couldn't post url]
Sound Recorder - A simple recorder. Probably don't need more.
TalkBack - This is a Google app that will read and speak aloud text from your phone's menus and some Google apps. So for Gmail it'll read the subject line of each email you touch. It's for blind people and probably not all that great for them, either, since it's pretty limited. There are other apps that do TTS (Text to Sound), and I'd recommend looking into those. I'd say remove this, but who knows how *****y Google will get about it. See Pico TTS above.
Terminal Emulator - Is one of the most popular terms. I think Terminal IDE is better, so you should at least add that, if not replace this altogether.
Trebuchet - This is a launcher service which does a lot more than just launch apps. Good launchers provide _lots_ of additional ui customizations, and Trebuchet is one of the better ones. Keep it unless something changes in the near future. Halo (notification manager) is somehow related to this, although I think it is a seperate app; Halo is also considered excellent.
User Dictionary - A user dictionary addon for android devices that do not have a standard user dictionary component. It is used by the keyboard and god knows what else. Do not remove it. There are similar apps. It might be possible to replace this with one of the others, but why bother.
Voice Dialer - This is a voice activated dialer for phones by Google. Obviously the KF doesn't need it.
Voice+ - Another phone related Google app; it catches all outgoing calls and uses Google Voice service to connect you with the dialed number by calling you back on your selected callback number first, then calling the number you dialed. I think it basically covers your cell phone's number with an online one. Obviously the FK doesn't need this, either.
###################
##### Add Apps #####
###################
Important:
DroidWall - Simple firewall app, lets you whitelist apps to give access to the internet.
Titanium Backup - System backup/restore app, lets you transfer apps/data/settings from one OS/mod to the next.
ES File Explorer - File manager.
ES Task Manager - Lets you kill apps.
TrustGo Security - FW/AV. Lets you scan your system/apps, scan incoming, etc. Currently one of the better free Firewall/AntiVirus for Android. It will probably be replaced by the next time you need to dl one, so google.
Greenify - Resource manager of sorts, it lets you choose which apps to have free reign of resources, and which to stick into hibernate mode when you're done using them. This means you don't have to constantly use ES Task Manager to kill apps when you're finished with them.
Adfree - Downloads/Updates a hosts file to block ads from the internet and apps.
System Tuner - Has endless tweaks, diagnostics, and functions.
Terminal IDE - A terminal emulator with all sorts of nice features and commands. Just poking around in this for a couple minutes and I'm in love. It installs a bunch of C binaries of commands you're used to, giving a much more familiar robustness. Note that this will create a $HOME directory for you that exists within the app's own /data/ directory tree. If you want to create a single home for all apps, you will need to make some changes.
ROM Manager - This would be useful if it would use TWRP, but since it's developed by the same guys as ClockworkMod Recovery, it insists you install that. Since at this time it seems CWM has problems with Kindle Fire?, you probably won't be able to use much of this for a while. What you really need is to find an entire system image creator for backups. ROM Manager does have a function for fixing permissions, which presumably makes sure nothing has messed up the permissions on important sys files.
Apps:
Amazon App Store - This is the second largest after Google's, but you'll have to get the app store app to use it. And there will be apps only available there.
Keyboard - You can remove the keyboard that comes with your OS if you replace it with a different one.
Hacker's Keyboard - This is a full keyboard complete with arrow keys. It also has a function key to get Home, End, the F row, etc. You can set it so that it will use the Android Keyboard in portrait mode, but switch to the HK in landscape.
Swype - Lets you drag finger across screen to each letter rather than tapping.
SwiftKey - Predictive text is the specialty here, gets to know you and can predict your next word.
Widgets:
FancyWidgets - Not perfect, but gives you a nice clock/weather widget.
WeatherBug - Gives you detailed weather info.
Browser:
Android Browser: Seems fast.
Dolphin - I think this is the winner. Pretty fast, and also has a lot of good features.
FF - Seems slow, and also has your familiar add-ons, but there would be the nice advantage of bookmarks sync. Of course, with a hosts file based ad block (AdFree) you won't need adblock and that should help.
Opera - Seems fast but limited in features.
There are many others.
Browserlike Apps:
Gmail - Google's gmail reader app.
Tapatalk - A BBS forum reader/interface app.
Facebook - Some say a good, others say a ****ty FB reader app.
DuckDuckGo - Is a search app that I believe you can set up to punt you off to a browser if you're going to do much more.
Ebook Reader:
----- TTS (Text to Sound) - I'm not sure if you'll need one of these or if one will come in your ebook reader, but I think you'll eventually want to check it out. It'd be nice to be able to have a book or wikip page read to you while doing other ****. Also see Pico TTS.
There are a lot.
Video Player, Video Editor:
tbd
Music Player:
tbd
News Reader:
tbd
Pic Viewer, Pic Editor:
tbd
RSS Reader:
tbd
Maps:
Google Maps - Supposedly there's a way to get offline maps, but I couldn't figure it out.
Maps With Me - Offline. I dig it.
OsmAnd - Offline. Didn't like.
RMaps - Offline. Didn't like.
MapsOn - Offline. I dig it.
Misc:
Google Sky Map - A very fun app to have to see the location of stars, planets, galaxies, and constellations.
Bubble Level (not sure of name) - An app that will act like a carpenter's level.
Screenshot UX - Lots of root and non-root screenshot apps. I liked this the best.
Games / Learning - Be very careful of these. Definitely want to AV scan these before using. Watch their permission requests for strange things they shouldn't need.
Chess Free
Sudoku Plus
Duolingo - Learn a language.
Solitaire
Tetris
##################################
##### Stop Auto Startup of Apps #####
##################################
It will scare you how many apps and services startup by default. Use SystemTuner -> Startups. And uncheck all these (note that some need to have other things installed before you do this, like the Android Keyboard, so be smart).
Android Keyboard AOSP
Calendar, Calendar Storage
Clock - This might cause probs, but shouldn't.
CyanogenMod Account
DSP Manager - You may want to check that this starts on its own when you start your media apps. If not, if you want this you'll have to start it by hand, or turn this startup back on.
Firefox
Gallery
Gmail
Google Contacts Sync
Google Partner Setup
Google Play services
Google Play Store
Google Search
News & Weather
ROM Manager
System Tuner
Titanium Backup
WeatherBug
Fixed. No links in 3rd post, sorry.
Sent from the 404

"Roll your own" SKINNY MIUI - Revised 09/04/16

Skinny MIUI is all about preserving the good; Working premium drivers for Camera, CPU control, Notification LEDs, Bluetooth, FM Radio etc. while resolving what is bad in the stock offering.
All deletions assume the user has absolutely no interest in being part of the Xiaomi ecosphere. Leave now if that is not you.
This guide applies to MIUI stable versions 7.1.1 thru to 7.2.5 only. Developer, Beta or Eng versions are not good candidates.
STAGE 1:
Boot.img mods: (this is not creating a custom kernel!!!)
The stock boot.img is unpacked, init.d support added and many entries that are not relevant to our hardware removed.
Disabling lines trying to load non-existent services from init.rc, init.mt6795.rc and ueventd.rc etc. stops a bit of churning on each and every boot and frees up a bit of RAM.
There are intentionally no other tweaks contained within the boot.img. All tweaks are done in init.d scripts accessible outside the boot.img.
Note: This boot image made from 7.1.4 will work back to ver 7.1.1 and forward to 7.2.50 / 6.3.31 and is superior to the stock boot images contained in those ROMs.
At this point you can flash the modified boot.img to your phone if you already have a stock MIUI 7.1.1 to 7.2.50 installation that you are going to keep.
If you are going to do a clean install, replace the boot.img in your ROM zip file with this modified one. (backup the original first)
The boot.img is found here: (Now links to folder with all versions available)
https://drive.google.com/folderview?id=0BwdRTuyj12_yRk9Kcm1pZkxuZzg&usp=sharing
STAGE 2:
Full install:
I recommend you install my TWRP 3.02-2 version from here:
https://drive.google.com/open?id=0BwdRTuyj12_yWWp0SUpGV1pzT1k
Before installing your chosen ROM:
Check that the updater script found: \META-INF\com\google\android\updater-script is not going to install Preloader, Uboot (lk), Recovery or logo partitions. If so, edit the updater-script to prevent this happening. This is to reduce the risk of a soft-brick or being locked out of your phone.
Do a factory reset in TWRP (wipe Data, Dalvik, Cache) before installing any ROM.
Install your chosen ROM. Trying to slim down the ROM before install is an arduous affair which tends to end in bootloops so we leave the original ROM alone in this respect..
Do the install without connecting to mobile or WiFi networks and just skip at screens prompting for network connectivity and creating accounts.
Reboot into TWRP once finished with the initial Setup to avoid Recovery from being deleted on first boot.
Install an updated SuperSU zip package from TWRP recovery - V2.46 to 2.71 work equally well.
Do not install a root package other than SuperSU - most online ones are malware!
Update the outdated and incomplete Busybox installation. I have created a TWRP flashable zip to upgrade to the latest version 1.25.0. This is the second edition which has better binaries and no longer creates symlinks to busybox commands.
https://drive.google.com/open?id=0BwdRTuyj12_yd0s1QmNLRzdveFk
Now install a root capable filemanager (Root Explorer or Total Commander recommended). Open it and gain root permissions. Open /etc/perfservscntbl.txt in a text editor and edit as follows:
Code:
CMD_SET_CPU_FREQ, SCN_APP_TOUCH, 403000
CMD_SET_CPU_CORE, SCN_APP_TOUCH, 1
This will lower the number of cores used and the frequency at which it runs when a screen touch is detected (referred to as Touch Boost) Changes are activated on reboot.
Now create a file named 01_tweaks in the /etc/init.d folder. Change the permission of the file to 0755
Tips on creating scripts:
The EOL(end-of-line) characters must be in Unix format - not Windows. Make sure you are using a text editor that saves in Unix format.
Note also that many script files need a blank line at the end to work correctly. Get in the habit of always doing this whether needed or not.
Any line starting with a # character and anything after a # character on a line is not processed and is referred to as "commented out"
Script files must start with the header #!/system/bin/sh as the first line.
Init.d scripts are processed in alpha-numeric filename order hence the common usage of 01_xxx, 02_xxx format for names.
Copy these lines into the 01_tweaks file: Note: Different values for 2.2GHz cpu and freq limited operation.
Code:
#!/system/bin/sh
### Tweak Interactive CPU Governor
echo 806000 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
echo 85 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
echo "90 403000:80 806000:85 1326000:90 1625000:95 1950000:99" > /sys/devices/system/cpu/cpufreq/interactive/target_loads
echo 32000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate
echo 10000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
echo 15000 > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay
echo 20000 > /sys/devices/system/cpu/cpufreq/interactive/timer_slack
### Tweak IO Scheduler
echo deadline > /sys/block/mmcblk0/queue/scheduler ### choose between cfq, bfq or deadline
### Enable this line if using cfq or bfq scheduler only
# echo 0 > /sys/block/mmcblk0/queue/iosched/slice_idle
echo 256 > /sys/block/mmcblk0/queue/read_ahead_kb
### Enable zram swap
# echo 1073741824 > /sys/block/zram0/disksize ### 536870912 = 512MB 1073741824 = 1GB
# /system/bin/tiny_mkswap /dev/block/zram0
# /system/bin/tiny_swapon /dev/block/zram0
### Tweak Entropy to avoid regular depletion of available pool
echo 512 > /proc/sys/kernel/random/read_wakeup_threshold
echo 1024 > /proc/sys/kernel/random/write_wakeup_threshold
#Tweak for wifi router connection issues
#echo 1 > /proc/sys/net/ipv6/conf/wlan0/disable_ipv6
### FSTRIM: Enable once after installation is finalized and then monthly ##### needs an updated busybox installation to work
# busybox fstrim /data
# busybox fstrim /cache
# busybox fstrim /system
Options: Add / replace lines to do the following:
1. freq limit a 2GHz cpu to 1781MHz (recommended setting)
echo "90 403000:80 806000:85 1326000:90 1625000:95 1781000:99" > /sys/devices/system/cpu/cpufreq/interactive/target_loads
echo 1781000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo 1781000 > /proc/cpufreq/cpufreq_limited_max_freq_by_user
2. Full speed 2.2GHz cpu
echo "90 403000:80 806000:85 1326000:90 1664000:95 2158000:99" > /sys/devices/system/cpu/cpufreq/interactive/target_loads
3. freq limit a 2.2GHz cpu to 1885MHz (recommended setting)
echo "90 403000:80 806000:85 1326000:90 1664000:95 1885000:99" > /sys/devices/system/cpu/cpufreq/interactive/target_loads
echo 1885000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo 1885000 > /proc/cpufreq/cpufreq_limited_max_freq_by_user
4. Add a limit to the maximum number of cpu cores allowed to come online (for possible battery saving maybe...)
#Limit max cpu cores available (range 2 - 8)
echo 4 > /proc/hps/num_limit_low_batt
echo 4 > /proc/hps/num_limit_power_serv
echo 4 > /proc/hps/num_limit_thermal
echo 4 > /proc/hps/num_limit_ultra_power_saving
Edit /system/build.prop. Change the line: ro.sf.lcd_density from the default 480 to a value between 400 (everything smaller, more on screen) to 520 (everything larger, less on screen) to suit your taste and eyesight. You can test this out first by issuing the wm density command in a terminal app. e.g wm density 440 will immediately change the density to 440dpi, wm density reset will put it back to whatever the build.prop setting is. Adjust the text size in Settings in conjunction with this to get the best result.
At this point you have a functional set of tweaks that are all tested and proven to provide a battery and performance improvement. There are a lot of detrimental or placebo tweaks out there so be a little bit discerning in what else you add to these tweaks - sometimes less is more. Now is not the time to load up those tweaks!
Do a TWRP backup of System, Data, Boot and NVram partition now to save your efforts up to this point.
STAGE 3:
Now its time to get Skinny: You will need an app that can uninstall and freeze system apps. I use SD Maids App Control feature for this purpose.
Warning: If you intend to use app lock, you will unfortunately need to keep some fingerprint service files. See the post below and a few before it to understand the problem. Thanks to @DarthJabba9 for his work.
I believe that app lock also disables MIUI Optimization if enabled.
http://forum.xda-developers.com/showpost.php?p=67242356&postcount=583
First phase is to get rid of the obvious bloat apps and Xiaomi in-house apps....these in the list below are safe to remove.
Tick off what you have removed and reboot each 10 or so deletions and backup, don't try to delete everything in one hit as you will end up stuck at boot.
WARNING: This removes some functionality that may be useful to some users. You either want the function or you don't - it is your finger pressing the buttons!
Some people may choose to keep the MIUI Home Launcher interface. In this case, keep MIUI Wallpaper as well.
Must keep these - Do not delete:
Updater - disable autostarts, do not freeze
Theme Manager - disable autostarts
Security (com.miui.securitycenter) - leave as-is
FwkPlugin
Network Assistant app
MiuiSDK - disable autostarts
AuthManager
Webview (update via Playstore once install finished)
Xiaomi service framework - disable autostarts, freeze app
Definitely O.K to delete list:
Wallpaper Apps:
Android Live Wallpapers
Black Hole
Bubbles
com.android.wallpaper.holospiral
Live Wallpaper Picker
Music Visualization Wallpapers
Phase Beam
Photo Screensavers
*Miui MiWallpaper * keep if also keeping MIUI Home Launcher.
Xiaomi/MTK Apps:
Analytics
Assistant
Back up Home screen layout (cloud backup)
Backup - delete if you don't use it (use TWRP instead)
Battery Warning - deleting this does not affect battery charging or display
Battery Saver - deleting this improves battery life
Blocklist (AntiSpam) - delete if you don't use it
com.miui.mipub
File Explorer - delete (you should already have a root capable file browser)
Find device - use the generic Google version if you really must, not the Xiaomi one supplied.
FingerprintService
FPCSensorTestTool
FTPreCheck
FWUpgrade
gallery (com.mfashiongallery.emag daily wallpapers)
Games
Home screen
JeejenMIUIContainer
com.securitycore.miui_t (Tencent virus scanner plugin to Security Center)
KLO Bug report
LocationEM2
Metok
MI Account
Mi Cloud
Mi Credit
Mi Drop
Mi Home
MI Service Security Framework
Mi VIP
Mi Voice
Mi Wallet
Miravision
MTKAndroidSuiteDaemon
MtkFloatMenu
MTKLogger
Music
MusicFx
Notes - if you don't use it, delete it.
PowerKeeper (Battery Saver) - deleting this improves battery life
Report Bug
Security service plugin (not securitycenter app)
SystemAd
System Launcher (Miui Home) replace with an alternative Launcher, allow autostart in Security first then delete. ADW Launcher recommended for lightweight and simple functionality (set to 4x6 looks good).
Traffic Control
Uniplay
UpgradeSys
VCalendar
Video
Voice Unlock
VoiceAssist
Weather
Weather provider
Whetstone delete app and delete folder /etc/WhetstonePermission ****Whetstone is linked with several other apps to make it hard to get rid of. It may cause some temporary FC issues - these will pass.
Xiaomi Assistant
Yellow Pages
com.jeejen.knowledge
com.jeejen.store
com.ximalaya.ting.android
com.xiaomi pass
com.xiaomi.o2o
com.xiaomi.jr
Cheetah Mobile CleanMaster SDK + Cleaner - delete
NetworkLocation (com.baidu.map.location) delete app, delete folder: /system/vendor/operator and delete corpses
Android/Google Apps:
Browser - suggest replace with Polarity Browser - minimal permissions required, Ad Blocking, lightweight and fast
Documents
Google Keyboard - replace with something lighter - Hackers Keyboard v1.38.2 recommended
Google Pinyin input
Google Feedback
Google partnersetup
HTML Viewer
Email
Mail
Pico TTS
Print Spooler
com.android.browser.provider
PacProcessor
Note: If you have apps reappear as if by magic, they are being reconstructed from cached information. SD Maid has an excellent "Corpse Finder" function that will delete the orphaned files and prevent this happening. Clear corpses after each reboot.
Second phase is to toggle off the autostarts (receivers) on the apps that do not need to start by default. This is not the same as freezing an app. Some apps will still start by themselves - do not worry too much about this.
Atci_service
Backup
Blocklist
com.mediatek.batterywarning
Download Manager
Google Contacts Sync
Google One Time Init
MIUI SDK (don't freeze)
MTK NLP Service
Notes
One Time Init
Sim Toolkit
Themes (Theme Manager)
Updater
Xiaomi service framework (should also be frozen)
Third phase is to clean up left behind folders and files
/data/miui/app/customized/ remove any app folders that you have uninstalled
/data/miui/app/noncustomized/ remove any app folders that you have uninstalled
delete folder /data/miui/mms
delete folder /data/miui/gallery
delete contents of /data/miui/cust
delete folder /etc/jeejen
delete etc/voicecommand and etc/voiceextension folders if you have removed voice related apps
delete /system/tts folder if you have removed Pico TTS
delete folder /system/etc/radv
/etc/fake_cdrom_install.iso - delete file
/etc/IAmCdRom.iso - delete file
/system/addon.d delete folder
/system/app/jjcontainer/ - delete folder
/system/app/jjhome/ - delete folder
/system/app/jjknowledge/ - delete folder
/system/app/jjstore/ - delete folder
Libs you can remove:
/vendor/lib
libfingerprint_tac.so
libfpcalgorithm.so
/vendor/lib64
libcom_fingerprints_productiontestmanager.so
libcom_fingerprints_sensor.so
libfingerprint_tac.so
/system/lib
libcaFingerPrintShared.so
libcom_fingerprints_service.so
libfamily_jni.so
libjeejenAisound.so
libjeejenmsc.so
libMiraVision_jni.so (if deleted MiraVision App)
libpatcher_game_jni
libvoicerecognition.so (if voice recognition apps deleted)
libvoicerecognition_jni.so (if voice recognition apps deleted)
libweibosdkcore.so
libwhetstone_jni.so (if deleted Whetstone App)
libwhetstone_sdk.so (if deleted Whetstone App)
libxiaomimediaplayer.so (if xiaomi media player deleted)
libxiaomimediaplayerwrapper.so (if xiaomi media player deleted)
/system/lib64
libairtunes_jni.so
libairtunes.so
libBankCardRecognizer.so
libcaFingerPrintShared.so
libcom_fingerprints_service.so
libduokantext.so
libjni_latinimegoogle.so (if deleted Google keyboard)
libjni_pacprocessor.so (if deleted PacProcessor)
libMiraVision_jni.so (if deleted MiraVision App)
libpatcher_game_jni.so
libttspico.so
libweibosdkcore.so
libwhetstone_jni.so (if deleted Whetstone App)
libwhetstone_sdk.so (if deleted Whetstone App)
libxmpass_sdk_patcher.so
xmpass_libweibosdkcore.so
Establish network connectivity.
If Gapps is required but not installed, download open_gapps-arm64-5.0-pico version. You can install individual extra Google apps at any stage later on.
Go through all MIUI Settings and turn off everything you do not need running.
Install your favorite media player, web browser etc. to replace the deleted original apps.
Can replace Calendar and Messenger with Google Calendar and Google Messenger to remove some more Xiaomi dependencies. Contacts & Dialer are much harder to replace - True Phone is the only viable option.
To further limit Xiaomi unsolicited communications, rename (or delete) /system/xbin/tunman to tunmanbak. (This is a tunneling protocol driver that Xiaomi uses without your knowledge or permission).
The startup is disabled in the boot.img but it can still be started after boot unless renamed.
To skinny the Themes footprint:
Go to /system/media/theme/
Delete elder-default folder if no use.
Delete entire contents of miui_mod_icons folder
Delete items in /system/media/theme/default/ that are not going to be used.
Delete items in /system/media/lockscreen/ and /system/media/wallpaper/ that are not going to be used.
Now install your favorite app for monitoring CPU parameters and make sure that on idle, there is only one cpu core running and it sits predominantly on 403MHz. It will jump a little bit but that is normal with the inevitable background activities. Increase the timer_rate if you want more stability at idle rather than cranking up the load figures too far. Up to 50000 or down to 30000 is O.K (remember we are talking microseconds here so 50000 = 50mS)
Congratulations! You now you have a "Super Skinny" MIUI installation. Do a backup now!!!!
Now you will feel the AOSP shining through - and still you have working everything!
This post will list useful tools and items that need further investigation.
Apps for finding and disabling things:
Wakelock Detector-Root - monitor and records wakelock activity
GSAM - monitors what apps / services are consuming battery
Disable Service - disable services started on an app by app basis
SD Maid, Titanium Backup - Freeze / remove apps, toggle autostarts (receivers)
Modify your quick start grid size:
https://drive.google.com/file/d/0BwdRTuyj12_yYlphU3A0UWprcXc/view?usp=sharing
Modify MIUI Homescreen grid:
https://mega.nz/#F!yJdkxbBa!WSIqrhwUQwD7qjzxOuo1Yw
Issues:
Find a way to completely disable XMPush service with and without Xiaomi services framework installed.
Xiaomi Services Framework causes Sim connectivity issues if deleted - do not delete. There will always be one XMPush instance running.
Find out what is causing Audio On wakelock reported by GSAM
Quote: Originally Posted by DarthJabba9
With regard to the "Audio On" wakelock (aka AudioMix Wakelock) reported bt GSAM, I found this somewhere in this forum: "The nexus 6 had the same wakelock and most of us got rid of it by unchecking "use NuPlayer" in developer options". I have now unchecked that option, and will see over the next day or so whether it resolves the problem. This appears to be the fix
What triggers no sim / no service errors
Removing Xiaomi Services Framework is the culprit
Why do some files / folders not show up in root filemanagers?
MIUI locks the files / folders to prevent them being used or shown.
Why does zram not work anymore?
Rename tiny_mkswap, tiny_swapon, tiny_swapoff to teeny_mkswap, teeny_swapon, teeny_swapoff
Make sure owner is root shell and permissions are 0755 for all 3 files.
edit the init.d script to reflect the change in filenames. Now it will work again!
Example full Skinny ROM based on MR7.2.30 ID:
This is how my phone is set up, it has 100% functionality, zero FCs and zero battery drain on idle. The init.d settings are exactly as provided. Compare the directory listings to your own to see what is deleted.
The other major variation to this is for people who want to keep MIUI Launcher (and MIUI Wallpaper), everything else should remain the same. This cost you a bit more RAM usage and slightly more cpu activity (less battery) but is still impressive compared to stock.
/system/app
ApplicationsProvider
AtciService
AutoDialer
BSPTelephonyDevTool
Bluetooth
CaptivePortalLogin
CertInstaller
DeskClock
DownloadProviderUi
DrmProvider
EngineerMode
EngineerModeSim
FM
GoogleCalendarSyncAdapter
GoogleContactsSyncAdapter
KeyChain
MTKThermalManager
MiuiCompass
NetworkAssistant2
NlpService
Omacp
PackageInstaller
Provision
SuperSU
SystemHelper
ThemeManager
Updater
UserDictionaryProvider
WebViewGoogle
XiaomiServiceFramework
YGPS
cit
mcRegistry
miui
miuisystem
/system/priv-app
AuthManager
BackupRestoreConfirmation
BarcodeScanner
CDS_INFO
CalendarProvider
ContactsProvider
DefaultContainerService
DownloadProvider
ExternalStorageProvider
FusedLocation
GoogleBackupTransport
GoogleLoginService
GoogleOneTimeInitializer
GoogleServicesFramework
InCallUI
InputDevices
ManagedProvisioning
MediaProvider
MiuiCamera
MiuiGallery
MiuiKeyguard
MiuiSystemUI
MmsService
OneTimeInitializer
Phonesky
PrebuiltGmsCore
ProxyHandler
SecurityCenter
Settings
SettingsProvider
SharedStorageBackup
Shell
Stk1
TeleService
Telecom
TelephonyProvider
VpnDialogs
WallpaperCropper
com.ghisler.android.TotalCommander ### Total Commander installed as system app
com.hb.dialer.free ### True Phone replacement for Xiaomi Contacts & Dialer
org.adw.launcher ### ADW Launcher installed as system app
Other base apps in /data/app:
com.google.android.apps.messaging ### replacement Google Messenger
com.google.android.calendar ### replacement Google Calendar
com.duokan.phone.remotecontroller ### stock IR remote controller app
pcr.browser.polarity ### Polarity Browser
com.grarak.kerneladiutor ### Kernel Adiutor * disable autostarts*
org.pocketworkstation.pckeyboard ### Hackerskeyboard-v1.38.2 replaces Google keyboard
jackpal.androidterm ### Android Terminal
Thanks a bunch for the info. This is exactly what I'm looking for (my slimming down attempts always resulted in bootloops, so I've been playing it pretty safe so far).
Is this something you repeat every time an update is being pushed to your RN2?
@elaurens By doing this you are forgoing the use of OTA Updates which will unravel everything you have achieved.
I had to go through quite a few bootloops before creating the "safe lists" - I suffer so you can all benefit.
If you are starting with 7.1.4 everything is perfect and needs no more updating
Keep your eye out for additions to these lists as I discover or remember them
I have tried this:
http://forum.xda-developers.com/red...d-enable-clearmotion-miui-based-roms-t3278552
to enable ClearMotion and can vouch for it being safe - as in no malware and no breaking things. It adds the following to Build.prop and puts some hacked drivers in /system/lib.
persist.sys.display.clearMotion=1
persist.clearMotion.fblevel.nrm=255
persist.clearMotion.fblevel.bdr=255
ro.mtk_clearmotion_support=1
ro.mtk_slow_motion_support=1
ro.mtk_16x_slowmotion_support=1
Is this a worthwhile thing to do? There are no negatives in doing so as far as I can see but I don't really have anything that can give this a proper workout.
Can anyone see a difference in video playback? (Must have hardware acceleration selected) I won't recommend this if there is no perceivable gain.
most of the stuff works fine, everything checks out, It's not really anything new, but i find it well written, and it's not just a "placebo build.prop tweaks edit" which is a +. its a smart thing to have it all in a single thread.
however there're some issues with init.d script. even if you get init working, sometimes it just simply wont apply any of the tweaks. interestingly enough, i forced it to create a new text file on every boot, and that works. not really sure whats causing this prob.
anyways, by some magic I eventually made it apply the script, not really sure if it was cause of the rom change, or just pure luck lol
@sikica133 and anyone else having init.d problems:
init.d problems are usually one of the following:
1. incorrect folder permissions.
2. incorrect file permissions
3. No line feed at the end of the file (blank line)
4. incomplete or missing Busybox install
5. missing header in the text
6. Loosing SU privileges
Check init.d folder has 0755 permissions
Check file has at least 0644 permissions
Check and/or insert a line feed at the end of the file
Install busybox on rails, run the cleanup and busybox install, uninstall busybox on rails after this (this gives you an up-to-date and more complete busybox installation)
First line of file must be exactly #!/system/bin/sh
Reinstall a fresh version of SuperSu through TWRP
I sometimes get caught out myself by editing a file on the PC and transferring it back without fixing permissions afterwards:silly:
I have the ultimate build.prop tweak that I will share with you all now, stand back, it is very powerful
persist.sys.use_qualcomm_performance_features_instead=1
nah, i was testing it with a updater-script doing 0755 on all scripts. busybox should be fine cause other scripts did their job. dunno, could be some funny issue on my end. works now, i was just wtf, everything works, this doesnt. no idea what was going one tbh, but it works
could be incompatibility with bbox and the script itself? im running it without feedline atm, and it applies it all. same script i used before when it didnt do anything.
MIUI 7.1.4 and I assume all other versions has a very old and incomplete version of busybox installed (I think it was v1.20?).
It does not have fstrim command (plus a few others) included which is why I recommend updating.
I tried init.d and 01_tweaks script (whith correct permissions).
The system is more time in 806 Mhz., deep sleep not works properly.
I use Stable 7.1.1 .
Deleting script, deep sleep works fine.
Need I install or update busybox for resolve my issue?
@Xabadou This script is the starting point. If you do not "skinny down" MIUI, there are so many things running in the background that you will find it difficult to sit on idle frequency.
How far into skinnying down have you gone?
Also, if you have a 2.2GHz cpu, the 2nd line below frequencies in bold must be modified to valid frequency for that cpu.
If you are not going to skinny down to a great extent, then it helps to bump some of the load settings up a touch.
These are the original lines:
echo 80 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
echo 90 403000:70 806000:81 1183000:84 1326000:87 1469000:90 1625000:93 1781000:96 1950000:99 > /sys/devices/system/cpu/cpufreq/interactive/target_loads
# for 2.2GHz cpu: echo 90 403000:70 806000:81 1183000:84 1326000:87 1482000:90 1664000:93 1885000:96 2158000:99 > /sys/devices/system/cpu/cpufreq/interactive/target_loads
Modify to:
echo 85 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
echo 95 403000:75 806000:81 1183000:84 1326000:87 1469000:90 1625000:93 1781000:96 1950000:99 > /sys/devices/system/cpu/cpufreq/interactive/target_loads
This is enough to get it to sit on 403MHz idle in most cases. If you go higher, you will start compromising smoothness. There are no problems at all with entering deep sleep.
If you are still having problems, you have an app running that is badly behaved - identify it and deal with it.
Refer back post #10, I mention why you should upgrade busybox.
I am running my phone beyond Super Skinny and loving it. Super stable and battery friendly while still being a performance beast. You should notice even at the point of trimming down to Skinny, this phone really starts to liven up.
jajk said:
I am running my phone beyond Super Skinny and loving it. Super stable and battery friendly while still being a performance beast. You should notice even at the point of trimming down to Skinny, this phone really starts to liven up.
Click to expand...
Click to collapse
Do you have a list of the apks (and directories) that you deleted in order to get the skinny ROM? Such a list would be useful for writing a script to automate the task.
P.S.: you might have noticed that I am a script fanatic - I generally find that it is less error-prone to automate such tasks with a script - and you only need to get the script right once.
I use stable 7.1.1 by xiaomi.eu whith your modded kernel and a lot of apps frozen (App Quarantine).
Modified kernel works very good.
Just now I have updated busybox.
I have 2.0 ghz version.
I will try again the script.
Clear Motion mod works fine in MIUI roms but you must use MX Player for play videos.
---------- Post added at 01:20 PM ---------- Previous post was at 01:11 PM ----------
persist.sys.use_qualcomm_performance_features_inst ead=1
Works qualcomm tweaks whith mediatek processors?
@DarthJabba9 The lists ares already mentioned - 1 to get to skinny, 1 to get to super skinny but if you do this in a script on a live system you will likely end up in a bootloop because there are too many odex and cache entries orphaned for Android to handle in one hit. If you intend to apply a script to the ROM files before installation, that is a different story. It takes a bit of effort to figure out how and where MIUI is loading a lot of its components from but is doable.
Why I have not offered a complete ready to go package? It is too easy for users to do it themselves and add their preferences along the way. For those that have actually followed through with the process, I can guarantee that they will instantly loose interest in any other custom ROM.
@Xabadou Thanks for the clarification on ClearMotion. I run VLC set to hardware acceleration and can't see the split screen test mode. Video looks fine regardless, so really hard to tell if anything has changed.
Do the apps that you quarantine stay not running? I had problems with quite a few apps running regardless of being frozen or not so had to uninstall.
You, along with everyone else are not running a modified kernel - the kernel remains intact since we do not decompile and recompile or compile it from source.
The "persist.sys.use_qualcomm_performance_features_instead=1" tweak is a sarcastic dig at the many tweak offerings that do absolutely nothing:silly:
You asked the question showing you were not ready to accept this at face value:good:
If there is no evidence of a tweak doing something positive, don't blindly use it!!!
This is a customized boot image that provides init.d support and has unnecessary entries removed. No tweaks are embedded.
It is built on 7.1.4 and can be used on stock 7.1.1 to 7.1.4.
https://drive.google.com/file/d/0BwdRTuyj12_yR3phb0Zxd05UQjQ/view?usp=sharing
credits to @DarthJabba9 for the alternate init.d support method adopted in this image. It circumvents using busybox run-parts method that appears to have some bugs.
jajk said:
@DarthJabba9 The lists ares already mentioned - 1 to get to skinny, 1 to get to super skinny but if you do this in a script on a live system you will likely end up in a bootloop because there are too many odex and cache entries orphaned for Android to handle in one hit. If you intend to apply a script to the ROM files before installation, that is a different story. It takes a bit of effort to figure out how and where MIUI is loading a lot of its components from but is doable.
Why I have not offered a complete ready to go package? It is too easy for users to do it themselves and add their preferences along the way.
Click to expand...
Click to collapse
Fair enough ...
jajk said:
I will share my custom Super Skinny MIUI boot.img based on MIUI7.1.4 since it is now stable ... It is unpacked and repacked using AndroidMasterChef (downloaded from Needrom). I do not have problems unpacking and repacking again. If you try to unpack and have problems, use the same tool.
Click to expand...
Click to collapse
Thanks for the image. It cannot be unpacked with standard linux tools, but it unpacks ok with AndroidMasterChef.

[TUT] Easily remove Amazon's firelauncher and use any launcher (NO ROOT 5.x.x)

Source code to an alpha tool in Python-QT, if you guys are python savvy show some love <3
https://bitbucket.org/dylanmulrooney/android-launcher/src
In this thread you will finally be able to remove Amazon's terrifying FireLauncher for good, and replace it with your choice of a launcher.
Prerequisites:
Install ADB
Install Nova Launcher / launcher of choice
BACKUP YOUR FIRELAUNCHER.APK
You do not need to corrupt the firelauncher as I have, but it eats system resources and I never want to see it pop up. I have attached a modified version of the firelauncher APK. You will need to download and install it as an update via ADB.
(this is optional, you wont have any launcher after doing this! backup your old APK!!)
Code:
adb install -r -d com.amazon.firelauncher.apk
... as you can now see this will -r reinstall and -d downgrade the launcher, causing it to crash and never open.
Now we need to run a single line of ADB code every time you reboot your device:
Code:
adb shell
Code:
nohup logcat -c; logcat | grep --line-buffered 'flg=0x10200000 cmp=com.amazon.firelauncher/.Launcher' | while read line; do am start com.teslacoilsw.launcher/.NovaLauncher; done &
Code:
exit
This is designed (in combination with destroying firelauncher) to allow you to set any launcher, by default I have it set to am start Nova Launcher.
Once you paste that line of code in adb, you can unplug your device and use it with your new custom launcher!
Please feel free to contact me for detailed instructions!
Cautiously optimistic. Waiting for field evidence before recommending. As always reputations are earned.
First I'd love to thank you for your continuing support to give more launcher choices to the Amazon Fire.
Where can I find and back up the original fire launcher? So if, in the future, we want the fire launcher back, we just install the backup? Any script to run to undo?
About this "Now we need to run a single line of ADB code every time you reboot your device:".
So it cannot be automatically executed?
while trying to adb intall the apk, it shows error: https://www.dropbox.com/s/syyggde0ie7sf4t/Screenshot 2016-09-24 21.58.03.png?dl=0
UPDATE: I got it installed now. The issue above because I ran adb shell first. Anyway, it doesn't seem to shut down the Fire Launcher as I can still see briefly when pressing Home button; and it doesn't allow to set another launcher as default beside Nova. (Fire HD 10 - 5.3.1)
Let's say we want to set a different default launcher to this one: https://play.google.com/store/apps/details?id=com.citc.asap&hl=en
What should we type? Can you try with the above launcher cz' it cannot be launched till it's set as default?
FYI, as we cannot root this 5.3.1, so using the above launcher 'ASAP Launcher' will be awesome as it has built-in widgets. One more is Arrow Launcher by Microsoft.
The other one is Buzz Launcher: https://play.google.com/store/apps/details?id=com.buzzpia.aqua.launcher&hl=en
it's pretty heavy with built-in widgets and themes.
---------- Post added at 03:58 PM ---------- Previous post was at 03:01 PM ----------
I used your previous code from another post for Windows manually: http://forum.xda-developers.com/ama...-remove-default-launcher-amazon-fire-t3288310 , and it allowed to select any installed launcher as default, the issue it doesn't stick when restarted:
Code:
while :
do
kill $!
sleep 1 & pm install -r -d "/system/priv-app/com.amazon.firelauncher/com.amazon.firelauncher.apk" & sleep 20; kill $!
kill $!
done &
exit
#press enter now
ttcontributor said:
First I'd love to thank you for your continuing support to give more launcher choices to the Amazon Fire.
Where can I find and back up the original fire launcher? So if, in the future, we want the fire launcher back, we just install the backup? Any script to run to undo?
About this "Now we need to run a single line of ADB code every time you reboot your device:".
So it cannot be automatically executed?
Click to expand...
Click to collapse
I do not have a working firelauncher, and honestly I do not want it. That step is optional and the only purpose of removing it is so I never accidentally see it for a second.
I am still working on improving this, please feel free to request features!
Yes, it can be automated just not easily.. You would need to install an app and then paste the command in the apps etc. I never reboot my device so it's not a priority for me. Let me know if you have any ideas. It works flawlessly right now, speeds up the tablet.
ttcontributor said:
while trying to adb intall the apk, it shows error: https://www.dropbox.com/s/syyggde0ie7sf4t/Screenshot 2016-09-24 21.58.03.png?dl=0
UPDATE: I got it installed now. The issue above because I ran adb shell first. Anyway, it doesn't seem to shut down the Fire Launcher as I can still see briefly when pressing Home button; and it doesn't allow to set another launcher as default beside Nova. (Fire HD 10 - 5.3.1)
Let's say we want to set a different default launcher to this one: https://play.google.com/store/apps/details?id=com.citc.asap&hl=en
What should we type? Can you try with the above launcher cz' it cannot be launched till it's set as default?
FYI, as we cannot root this 5.3.1, so using the above launcher 'ASAP Launcher' will be awesome as it has built-in widgets. One more is Arrow Launcher by Microsoft.
The other one is Buzz Launcher: https://play.google.com/store/apps/details?id=com.buzzpia.aqua.launcher&hl=en
it's pretty heavy with built-in widgets and themes.
---------- Post added at 03:58 PM ---------- Previous post was at 03:01 PM ----------
I used your previous code from another post for Windows manually: http://forum.xda-developers.com/ama...-remove-default-launcher-amazon-fire-t3288310 , and it allowed to select any installed launcher as default, the issue it doesn't stick when restarted:
Code:
while :
do
kill $!
sleep 1 & pm install -r -d "/system/priv-app/com.amazon.firelauncher/com.amazon.firelauncher.apk" & sleep 20; kill $!
kill $!
done &
exit
#press enter now
Click to expand...
Click to collapse
I love you for being so helpful in the development of this project. You simply change the code to whatever launcher you want, you just need the package name/activity. I also think it would be wise to reboot when running the command since two instances may cause glitches without killing the nohup process.
I will make a tool that simplifies your life, drag and drop launcher of choice apk and it'll set it as default & remove amazon ****ware.
I have released the source code to my alpha project, should work cross platform (need testers who know Python!)
https://bitbucket.org/dylanmulrooney/android-launcher/src
nyln said:
I love you for being so helpful in the development of this project. You simply change the code to whatever launcher you want, you just need the package name/activity. I also think it would be wise to reboot when running the command since two instances may cause glitches without killing the nohup process.
I will make a tool that simplifies your life, drag and drop launcher of choice apk and it'll set it as default & remove amazon ****ware.
Click to expand...
Click to collapse
Great, after reboot and re-run the command I didn't notice the Fire Launcher no more when pressing home, but sometime just a blank screen breifly before going to the set launcher. And it's a wonderful news for "drag and drop launcher of choice apk and it'll set it as default & remove amazon****ware"
FYI, currently I'm combining your method by 1# install your attached .apk to corrupt the Fire Launcher, and #2 use the previous code above to be able to select any launcher installed. It's better because it can detect a new launcher installed from PlayStore and provide the option to select it as default: https://goo.gl/photos/qQzohRJNMEifCkyw6
ttcontributor said:
Great, after reboot and re-run the command I didn't notice the Fire Launcher no more when pressing home, but sometime just a blank screen breifly before going to the set launcher. And it's a wonderful news for "drag and drop launcher of choice apk and it'll set it as default & remove amazon****ware"
FYI, currently I'm combining your method by 1# install your attached .apk to corrupt the Fire Launcher, and #2 use the previous code above to be able to select any launcher installed. It's better because it can detect a new launcher installed from PlayStore and provide the option to select it as default: https://goo.gl/photos/qQzohRJNMEifCkyw6
Click to expand...
Click to collapse
Very interesting. I finished a rough alpha version of drag and drop, I posted the source code but no compiled binaries yet. I will make an option to select the launcher of your choice.
Give me the app name and I'll write a special code for you since nova sucks
nyln said:
Very interesting. I finished a rough alpha version of drag and drop, I posted the source code but no compiled binaries yet. I will make an option to select the launcher of your choice.
Give me the app name and I'll write a special code for you since nova sucks
Click to expand...
Click to collapse
Nova is good if rooted. In this case, ASAP Launcher is unbeatable: https://play.google.com/store/apps/details?id=com.citc.asap&hl=en
OR EVEN BETTER > TOTAL LAUNCHER: https://play.google.com/store/apps/details?id=com.ss.launcher2
nohup logcat -c; logcat | grep --line-buffered 'flg=0x10200000 cmp=com.amazon.firelauncher/.Launcher' | while read line; do am start com.citc.asap; done &
nyln said:
nohup logcat -c; logcat | grep --line-buffered 'flg=0x10200000 cmp=com.amazon.firelauncher/.Launcher' | while read line; do am start com.citc.asap; done &
Click to expand...
Click to collapse
Awesome.
I have been testing a lot of launchers to find one that is customizable with widgets without root, and found Total Launcher: https://play.google.com/store/apps/details?id=com.ss.launcher2
Now settling for this as it has internal / built-in widgets which can be added to Fire OS WITHOUT root and converting the launcher to system app. What is the package code for this one then?
UPDATE:
Code:
nohup logcat -c; logcat | grep --line-buffered 'flg=0x10200000 cmp=com.amazon.firelauncher/.Launcher' | while read line; do am start com.ss.launcher2; done &
It'd be completed if it can be autorun after system restart of packed to an app to tricker this in Amazon Fire itself.
ttcontributor said:
Awesome.
I have been testing a lot of launchers to find one that is customizable with widgets without root, and found Total Launcher: https://play.google.com/store/apps/details?id=com.ss.launcher2
Now settling for this as it has internal / built-in widgets which can be added to Fire OS WITHOUT root and converting the launcher to system app. What is the package code for this one then?
UPDATE:
Code:
nohup logcat -c; logcat | grep --line-buffered 'flg=0x10200000 cmp=com.amazon.firelauncher/.Launcher' | while read line; do am start com.ss.launcher2; done &
It'd be completed if it can be autorun after system restart of packed to an app to tricker this in Amazon Fire itself.
Click to expand...
Click to collapse
I may have a temporary workaround for auto restart. I just don't see how this makes or brakes it. You can paste that command in Terminal Emulator if you don't want to use a computer on reboot.
nyln said:
I may have a temporary workaround for auto restart. I just don't see how this makes or brakes it. You can paste that command in Terminal Emulator if you don't want to use a computer on reboot.
Click to expand...
Click to collapse
Think it depends on the user. For many launching Terminal Emulator and pasting in a command is a PiTA that offsets the benefit of a custom launcher. Technical enthusiasts don't mind so much but they are the minority of the Fire user community ime - even on XDA.
nyln said:
I may have a temporary workaround for auto restart. I just don't see how this makes or brakes it. You can paste that command in Terminal Emulator if you don't want to use a computer on reboot.
Click to expand...
Click to collapse
Well, at least we don't need to rely on the computer no more! And it will be a set-it-and-forget-it if we input the command to the Terminal Emulator to auto execute?
And about the ppl using Fire OS, there are still many out there. Once they know it can be customized to their liking, they will pop up!
ttcontributor said:
And about the ppl using Fire OS, there are still many out there. Once they know it can be customized to their liking, they will pop up!
Click to expand...
Click to collapse
FireOS is a solid alternative to more 'traditional' Android presentations once ads, bloat and other Amazon cruft is tamed. The ability to toggle launchers on non-rooted devices will be welcome by many if it can be made largely transparent once implemented.
Thanks for your feedback guys. I am working on an update that will simplify your lives.
nyln said:
Thanks for your feedback guys. I am working on an update that will simplify your lives.
Click to expand...
Click to collapse
Which code can I paste to the Terminal Emulator to not use the pc then? Then we can have the Emulator auto run the script when reboot?
Back to Firelauncher
nyln said:
Source code to an alpha tool in Python-QT, if you guys are python savvy show some love <3
https://bitbucket.org/dylanmulrooney/android-launcher/src
In this thread you will finally be able to remove Amazon's terrifying FireLauncher for good, and replace it with your choice of a launcher.
Prerequisites:
Install ADB
Install Nova Launcher / launcher of choice
BACKUP YOUR FIRELAUNCHER.APK
You do not need to corrupt the firelauncher as I have, but it eats system resources and I never want to see it pop up. I have attached a modified version of the firelauncher APK. You will need to download and install it as an update via ADB.
(this is optional, you wont have any launcher after doing this! backup your old APK!!)
Code:
adb install -r -d com.amazon.firelauncher.apk
... as you can now see this will -r reinstall and -d downgrade the launcher, causing it to crash and never open.
Now we need to run a single line of ADB code every time you reboot your device:
Code:
adb shell
Code:
nohup logcat -c; logcat | grep --line-buffered 'flg=0x10200000 cmp=com.amazon.firelauncher/.Launcher' | while read line; do am start com.teslacoilsw.launcher/.NovaLauncher; done &
Code:
exit
This is designed (in combination with destroying firelauncher) to allow you to set any launcher, by default I have it set to am start Nova Launcher.
Once you paste that line of code in adb, you can unplug your device and use it with your new custom launcher!
Please feel free to contact me for detailed instructions!
Click to expand...
Click to collapse
How do I revert back to Firelauncher?
imblogr said:
How do I revert back to Firelauncher?
Click to expand...
Click to collapse
Recommend you reload FireOS via stock recovery as it is not clear how to fully revert the changes. Sure, you could read through the instructions and figure it out...starting from scratch will probably be quicker with better outcomes. The OP has not posted for awhile; not sure he/she is still around.

Categories

Resources