Arthur Schopenhauer said :

"A man can do what he wants, but not want what he wants"







Sunday, October 21, 2012

do not be evil


somebody say that anyway I found it in framework

/res/drawable-nodpi



well, I do not know because I do not have Gingerbread sources on my PC last time worked with Cyanogenmod ..so is this a Google "addition" or comes as a "gift" from manufacturer/ gsm carrier ?

maybe used as a background when checking for fota update ?

pretty bastards ? :)
Easter eggs ? (joke)
got more? tell me to know

Saturday, October 20, 2012

add favorite applications


How to customize this ROM with your favorite applications 

requirements

- JRE
-testsign.jar from source

this ROM comes as a .zip file (archive) but self-signed
to customize it by your favorite apps and keep only features do like this

- delete what you want from /data/app and add here your favorite apps
- you can rename an apk file as you want i.e.
change this

com.android.chrome.1025308.apk

to this ( no matter it works )

chrome.apk

-never add apk files to /system/app  (at least about /system partition size - overwhelmed )
-take care when removing files from /system/app but if you decide to risk well,
i.e. if you decide to delete /system/app/Calculator.apk then you are to delete this file too
/custpack/JRD_custres/app/Calculator-res.apk

-finally you have to sign .zip archive before to flash it by CWM Recovery

-check zip archive for /Meta-inf folder for older signature files you can delete it



-copy testsign.jar and ROM archive in the same folder and name it update.zip (for this example)
-say that you copy it to C:\temp then open cmd and cd to this folder now sign update.zip

java -classpath testsign.jar testsign update.zip update-signed.zip




you get update-signed.zip rename if you want and flash it ...

Adobe Flash Player


some discussions on XDA about Flash regarding this phone and there is already posted a link for it ...

well,

starting with Android 4.1 there is no official support for flash just because Adobe dropped it in favor of HTML5 - browser will use internal decoder for video /audio rendering it means no external plug-in for this matter !

There is a long discussion what decoder to use ?! - it's about patents infringements you know if not read about long dispute Apple- Samsung - shortly Apple's statement is that:
" I'm the first to do round wheels yours are square from this moment ! "

somebody said Apple = Stupid

... anyway discussion will be closed -about 2020s then everybody will know about


on OT-908 if you are searching for a Flash plug-in well why not to use Dolphin Browser- it supports Flash and it's very fast - based on WebKit engine; or use MX Player from Market to play .flv videos

screen locker


an example how to work with .dex files :

this phone has 2 different screen lockers  ( ! ) how to change between them ?

well, take android.policy.jar from the phone and unpack classes.dex (read previous post)

look inside classout folder and open LockPatternKeyguardView.smali open it

I use Notepad++ now search for method  method createLockScreen (line 1475)

inside the code are defined 2 screen lockers to be used on the phone

- JrdLockScreen

- TMOLockScreen

then a code to switch between them ( line 1548 )

so change this

.packed-switch 0x0
    :pswitch_1e
    :pswitch_2e


to this code ( change order )

.packed-switch 0x0
   :pswitch_2e
   :pswitch_1e


save the file compile and put it back on the phone ( read previous post )

reboot and remember that :  first boot can take longer - to rebuild Dalvik-cache

on Robinson ROM after changing the code it should look like this ( yes it works for Move ROM too)




disassembling .dex files

requirements

- JRE
- android.policy.jar (an example)
- disassembler from code.google.com

to get android.policy.jar from the phone use

adb pull /system/framework/android.policy.jar c:/temp/android.policy.jar


android.policy.jar in a java archive so extract classes.dex copy both classes.dex and disassembler files to a working folder (c:/temp) and open a cmd line to that folder
to disassemble dex file input

java -Xmx512M -jar baksmali.jar -o classout classes.dex






and wait for an /classout folder 


when editing source files use a decent source code editor like Notepad++ or Kate/ Vim for Linux never use notepad from Windows - this is not bad but it's as he says : a "note" editor only so will not recognize/ save smali-file syntax elements

I used this when working to change default screen-locker on Move ROM or to add new entries to Power Menu

when finishing the job put it back together

java -Xmx512M -jar smali.jar classout -o classes.dex

then replace new classes.dex on original android.policy.jar and then push it back on phone

adb push android.policy.jar /system/framework/android.policy.jar


Sunday, October 14, 2012

apk working with them


requirements

-APK Manager (get it from somewhere search on XDA)
-framework-res.apk
-Android SDK install it from sources 
-JRE - search for Java Runtime and install it by default options
-to check your java version open cmd.exe and input java -version if you get error "not found" or something like that just install JRE or check if java folder is set to your path/ system variables - search somewhere how to do that

now open APK Manager (this is ver. 5.0.2) by script.bat located in program's folder

a window will be shown it looks like this



the most important options here are :
23- read important tips, request help link
22- set a project ( .apk file ) to work with
9 - to decompile an apk
11- to compile it back with modified sources/ resources

if you get in trouble comment this post or request help on XDA thread (original)

http://forum.xda-developers.com/showthread.php?t=695701

to start up just copy framework-res.apk to /place-apk-here-for-modding folder then open application by script.bat now prompt 22 and press enter to select desired apk to work with; in this case I select 3 then press enter to turn back to main window




now select 9 to decompile apk wait a while then look in /projects folder for application's files (decompiled); start editing files then compile it back by 11 option; when compiling you get a message press y for 2 times


..then look in the new-created /keep folder (this is important in fact everything is important because you work with an essential Android file ! ) if you omit this step nothing will be saved - you lost your work so proceed carefully with this step too- in this folder delete everything (every .jpg, .png ) that was changed by you and delete resources.arsc for the case you changed/ edited .xml files anyway you get the warning


..return to app window and press enter to continue compilation finally you get OK if everything is well done, now return where you started -  /place-apk-here-for-modding folder then look for unsignedframework-res.apk you have to rename it to framework-res.apk and copy to phone but use adb utility not Root Explorer because it's a system file

NOTES

1. pay attention to *9.png files i.e. btn_dropdown_pressed.9.png is a *9.png file read somewhere how to edit these "expandable" images yes you can edit it by your favorite photo editor no problems but never ever do that - to touch black borders here I open above *.9.png by draw9patch.bat ( placed in android-sdk/tools folder)


one is to read about these black dots before to edit/change them

2. anytime you get a compiling error solve that before to flash framework to phone look at log.txt file for details

3.  - edit .smali files to change code/ functionality
    - edit .xml files to change appearance/ Android interface

sometimes it's not enough to edit framework-res.apk files are correlated i.e. to add new options/ entries to Power Menu you edit framework-res.apk to add resources (strings/ icons) and android.policy.jar to add functionality (action to run when pressing an option from Menu )

4. never sign a system apk so do not use 12 option

5. to get/ put framework from/to  phone you can use adb push/ pull from SDK or you can use APK Manager

0 - pull/get file from phone
8 - push/send  file to phone

to use these options you have to set environment variable tell Windows where to search for adb executable


6. this is not a detailed guide "how to do everything with apk" you should manage yourself to decompile an apk if you just want to change it anyway I try my best to change this based on your feedback - just comment it !


Cyanogenmod a friend


Starting with CWM Recovery - ported from CM sources, Cyanogenmod is a source of inspiration for me adding new and interesting features to this ROM and here is a new one coming to this Robinson ROM - not available on Move ROM : screenshot
It works by pressing power button : open an app press power button and your choice is "screenshot" then it happens a picture of that app window will be saved to
/mnt/sdcard/DCIM/screenshots

a hundred thanks to Cyanogenmod community !
well, here is a picture to prove it I made a screenshot by this feature just to remember that location where screenshots are saved to :)



when you tap on screenshot in menu system will call an intent android.intent.action.SCREENSHOT handled by CMScreenshot.apk then using a script/ code placed in system folder a screenshot is saved to sdcard
by the way : I used Wifi File Explorer (no usb cable, by default installed  ) to copy this picture from the phone

Tuesday, October 9, 2012

Android is ..Linux


remember this keys combination from Linux

Ctrl+Alt+Backspace

how to do something like that on your device

open a Terminal / ConnectBot and insert

su
busybox killall system_server


I think this is the best task-killer for Android my intention is to implement this as an option in Power Menu