hong_anh_gau
New Member
#1: GIỚI THIỆU CÔNG CỤ & HƯỚNG DẪN CÀI ĐẶT
Bài này của mình chứ đâu )
http://android24h.com/threads/3/
#1: GIỚI THIỆU CÔNG CỤ & HƯỚNG DẪN CÀI ĐẶT
Bài này của mình chứ đâu )
http://android24h.com/threads/3/
Nguồn gốc của bài post
Có đọc và thấy cái phần này được ghi trong bài post không ??
Tôi rất tôn trọng việc chia sẽ của mọi người và bài này tôi search trên google và thấy trên softvnn thì ghi nguồn là của softvnn thế thôi, thậm chí post link qua tới đúng bài post đó. Còn nếu bài này của bạn mà bạn không đồng ý cho post thì tôi lập tức xóa ngay thôi.
Và tôi đã thêm cái nguồn gốc của bạn vào bài post
[ICONS] Stock battery percentage
Path
Link hướng dẫn decompile file apk
http://forum.xda-developers.com/showthread.php?t=1601511
Một số mẫu icon up qua recovery nè
http://forum.xda-developers.com/showthread.php?t=1588789
Nguồn
Mã:http://forum.xda-developers.com/showthread.php?t=1610539
Mod % pin bằng cách chỉnh sửa file framework-res.apk
Giải nén 2 file đó trong 1 thư mục, ở đây mình giải nén trong thư mục Android ở ổ C.
Tiếp theo copy file framework-res.apk từ máy của bạn vào thư mục Android, Start -> run -> cmd nhập lệnh: cd C:\Android
Tiếp tục decompiler file framework-res.apk bằng lệnh: apktool d -f framework-res.apk và bạn có folder framework-res trong thư mục Android.
Vào tiếp thư mục framework-res -> res -> drawable-hdpi và thay thế các file hình ảnh pin trong thư mục này, cái này bạn tự làm nhé vì mỗi rom tên mấy file này lại khác nhau =.=
Ở đây mình có 1 bộ đầy đủ, bạn nào ko thích search bên xda đầy: http://www.mediafire.com/?4fstdiboeyc7950
Thường các máy android chỉ có 5 bậc pin thôi (cũng chả nhớ =.=)
Tiếp theo các bạn vào thư mục drawable, tìm tập tin stat_sys_battery.xml, nhìn các dòng dưới cùng chắc các bạn cũng đủ hiểu, máy mình là SHW-M110S nên chỉ có 5 bậc pin, mình thêm vào cho đủ 100 bậc tương ứng với tên các file hình ảnh lúc nãy vừa thay thế vào thư mục drawable-hdpi, cụ thể:
Mình nghĩ các dòng khác thì code khác nhau nên các bạn chỉnh sửa cho phù hợp với dòng máy của mình, con samsung thì giống cái này hết đấy ^^Mã:<item android:drawable="@drawable/stat_sys_battery_1" android:maxLevel="1" /> <item android:drawable="@drawable/stat_sys_battery_2" android:maxLevel="2" /> <item android:drawable="@drawable/stat_sys_battery_3" android:maxLevel="3" /> <item android:drawable="@drawable/stat_sys_battery_4" android:maxLevel="4" /> <item android:drawable="@drawable/stat_sys_battery_5" android:maxLevel="5" /> <item android:drawable="@drawable/stat_sys_battery_6" android:maxLevel="6" /> <item android:drawable="@drawable/stat_sys_battery_7" android:maxLevel="7" /> <item android:drawable="@drawable/stat_sys_battery_8" android:maxLevel="8" /> <item android:drawable="@drawable/stat_sys_battery_9" android:maxLevel="9" /> <item android:drawable="@drawable/stat_sys_battery_10" android:maxLevel="10" /> <item android:drawable="@drawable/stat_sys_battery_11" android:maxLevel="11" /> <item android:drawable="@drawable/stat_sys_battery_12" android:maxLevel="12" /> <item android:drawable="@drawable/stat_sys_battery_13" android:maxLevel="13" /> <item android:drawable="@drawable/stat_sys_battery_14" android:maxLevel="14" /> <item android:drawable="@drawable/stat_sys_battery_15" android:maxLevel="15" /> <item android:drawable="@drawable/stat_sys_battery_16" android:maxLevel="16" /> <item android:drawable="@drawable/stat_sys_battery_17" android:maxLevel="17" /> <item android:drawable="@drawable/stat_sys_battery_18" android:maxLevel="18" /> <item android:drawable="@drawable/stat_sys_battery_19" android:maxLevel="19" /> <item android:drawable="@drawable/stat_sys_battery_20" android:maxLevel="20" /> <item android:drawable="@drawable/stat_sys_battery_21" android:maxLevel="21" /> <item android:drawable="@drawable/stat_sys_battery_22" android:maxLevel="22" /> <item android:drawable="@drawable/stat_sys_battery_23" android:maxLevel="23" /> <item android:drawable="@drawable/stat_sys_battery_24" android:maxLevel="24" /> <item android:drawable="@drawable/stat_sys_battery_25" android:maxLevel="25" /> <item android:drawable="@drawable/stat_sys_battery_26" android:maxLevel="26" /> <item android:drawable="@drawable/stat_sys_battery_27" android:maxLevel="27" /> <item android:drawable="@drawable/stat_sys_battery_28" android:maxLevel="28" /> <item android:drawable="@drawable/stat_sys_battery_29" android:maxLevel="29" /> <item android:drawable="@drawable/stat_sys_battery_30" android:maxLevel="30" /> <item android:drawable="@drawable/stat_sys_battery_31" android:maxLevel="31" /> <item android:drawable="@drawable/stat_sys_battery_32" android:maxLevel="32" /> <item android:drawable="@drawable/stat_sys_battery_33" android:maxLevel="33" /> <item android:drawable="@drawable/stat_sys_battery_34" android:maxLevel="34" /> <item android:drawable="@drawable/stat_sys_battery_35" android:maxLevel="35" /> <item android:drawable="@drawable/stat_sys_battery_36" android:maxLevel="36" /> <item android:drawable="@drawable/stat_sys_battery_37" android:maxLevel="37" /> <item android:drawable="@drawable/stat_sys_battery_38" android:maxLevel="38" /> <item android:drawable="@drawable/stat_sys_battery_39" android:maxLevel="39" /> <item android:drawable="@drawable/stat_sys_battery_40" android:maxLevel="40" /> <item android:drawable="@drawable/stat_sys_battery_41" android:maxLevel="41" /> <item android:drawable="@drawable/stat_sys_battery_42" android:maxLevel="42" /> <item android:drawable="@drawable/stat_sys_battery_43" android:maxLevel="43" /> <item android:drawable="@drawable/stat_sys_battery_44" android:maxLevel="44" /> <item android:drawable="@drawable/stat_sys_battery_45" android:maxLevel="45" /> <item android:drawable="@drawable/stat_sys_battery_46" android:maxLevel="46" /> <item android:drawable="@drawable/stat_sys_battery_47" android:maxLevel="47" /> <item android:drawable="@drawable/stat_sys_battery_48" android:maxLevel="48" /> <item android:drawable="@drawable/stat_sys_battery_49" android:maxLevel="49" /> <item android:drawable="@drawable/stat_sys_battery_50" android:maxLevel="50" /> <item android:drawable="@drawable/stat_sys_battery_51" android:maxLevel="51" /> <item android:drawable="@drawable/stat_sys_battery_52" android:maxLevel="52" /> <item android:drawable="@drawable/stat_sys_battery_53" android:maxLevel="53" /> <item android:drawable="@drawable/stat_sys_battery_54" android:maxLevel="54" /> <item android:drawable="@drawable/stat_sys_battery_55" android:maxLevel="55" /> <item android:drawable="@drawable/stat_sys_battery_56" android:maxLevel="56" /> <item android:drawable="@drawable/stat_sys_battery_57" android:maxLevel="57" /> <item android:drawable="@drawable/stat_sys_battery_58" android:maxLevel="58" /> <item android:drawable="@drawable/stat_sys_battery_59" android:maxLevel="59" /> <item android:drawable="@drawable/stat_sys_battery_60" android:maxLevel="60" /> <item android:drawable="@drawable/stat_sys_battery_61" android:maxLevel="61" /> <item android:drawable="@drawable/stat_sys_battery_62" android:maxLevel="62" /> <item android:drawable="@drawable/stat_sys_battery_63" android:maxLevel="63" /> <item android:drawable="@drawable/stat_sys_battery_64" android:maxLevel="64" /> <item android:drawable="@drawable/stat_sys_battery_65" android:maxLevel="65" /> <item android:drawable="@drawable/stat_sys_battery_66" android:maxLevel="66" /> <item android:drawable="@drawable/stat_sys_battery_67" android:maxLevel="67" /> <item android:drawable="@drawable/stat_sys_battery_68" android:maxLevel="68" /> <item android:drawable="@drawable/stat_sys_battery_69" android:maxLevel="69" /> <item android:drawable="@drawable/stat_sys_battery_70" android:maxLevel="70" /> <item android:drawable="@drawable/stat_sys_battery_71" android:maxLevel="71" /> <item android:drawable="@drawable/stat_sys_battery_72" android:maxLevel="72" /> <item android:drawable="@drawable/stat_sys_battery_73" android:maxLevel="73" /> <item android:drawable="@drawable/stat_sys_battery_74" android:maxLevel="74" /> <item android:drawable="@drawable/stat_sys_battery_75" android:maxLevel="75" /> <item android:drawable="@drawable/stat_sys_battery_76" android:maxLevel="76" /> <item android:drawable="@drawable/stat_sys_battery_77" android:maxLevel="77" /> <item android:drawable="@drawable/stat_sys_battery_78" android:maxLevel="78" /> <item android:drawable="@drawable/stat_sys_battery_79" android:maxLevel="79" /> <item android:drawable="@drawable/stat_sys_battery_80" android:maxLevel="80" /> <item android:drawable="@drawable/stat_sys_battery_81" android:maxLevel="81" /> <item android:drawable="@drawable/stat_sys_battery_82" android:maxLevel="82" /> <item android:drawable="@drawable/stat_sys_battery_83" android:maxLevel="83" /> <item android:drawable="@drawable/stat_sys_battery_84" android:maxLevel="84" /> <item android:drawable="@drawable/stat_sys_battery_85" android:maxLevel="85" /> <item android:drawable="@drawable/stat_sys_battery_86" android:maxLevel="86" /> <item android:drawable="@drawable/stat_sys_battery_87" android:maxLevel="87" /> <item android:drawable="@drawable/stat_sys_battery_88" android:maxLevel="88" /> <item android:drawable="@drawable/stat_sys_battery_89" android:maxLevel="89" /> <item android:drawable="@drawable/stat_sys_battery_90" android:maxLevel="90" /> <item android:drawable="@drawable/stat_sys_battery_91" android:maxLevel="91" /> <item android:drawable="@drawable/stat_sys_battery_92" android:maxLevel="92" /> <item android:drawable="@drawable/stat_sys_battery_93" android:maxLevel="93" /> <item android:drawable="@drawable/stat_sys_battery_94" android:maxLevel="94" /> <item android:drawable="@drawable/stat_sys_battery_95" android:maxLevel="95" /> <item android:drawable="@drawable/stat_sys_battery_96" android:maxLevel="96" /> <item android:drawable="@drawable/stat_sys_battery_97" android:maxLevel="97" /> <item android:drawable="@drawable/stat_sys_battery_98" android:maxLevel="98" /> <item android:drawable="@drawable/stat_sys_battery_99" android:maxLevel="99" /> <item android:drawable="@drawable/stat_sys_battery_100" android:maxLevel="100" />
Xong rồi Recompilation file framework-res.apk bằng lệnh: apktool b -f framework-res(Lưu ý ko có đuôi .apk nhé)
Xong đâu đấy open file framework-res.apk trong folder Android bằng winrar, rồi vào thư mục framework-res/build/apk/res kéo các thư mục drawable và drawable-hdpi vào thay thế các thư mục tương ứng trong framework-res đang mở bằng winrar, tiếp tục ra lại framework-res/build/apk/resources.arsc cũng làm như trên. (Làm nãy giờ cốt để có file resources.arsc này =.=)
Sau đó copy file framework-res.apk vừa chỉnh sửa vào system/framework/ set quyền (không hiểu chổ này) và reboot là xong!
Từ cách trên bạn có thể mod đủ thứ như: animation, dock, thanh status...
Ở đây mình up file framework-res.apk của con SHW-M110S của mình, bạn nào thích thì copy thẳng vào system/framework/ set quyền và reboot là xong (các dòng khác đừng có thử nhé): http://www.mediafire.com/?6ys4o9w9h97pg7u
Nguồn
Mã:http://www.tinhte.vn/threads/1261261/
Theo mình hiểu thôi nha thì thấy Custom ROM của One X thì chỉnh sửa trong file SystemUI.apk
Còn bài trên này thì lại sửa trong framework-res.apk
Không biết cái nào đúng nữa mong các bác chỉnh sửa cho ý kiến hộ để có bài hoàn chỉnh hơn một tý cho newbie như em.
Cháu xin tiếp thu ý kiến của bác và xin nhận khuyết điểm :|Mình hoan nghênh tinh thần sưu tầm và chia sẻ của bạn, mình nghĩ bạn ấy ko đến nỗi hẹp hòi đến thế đâu có lẽ bạn ấy tự muốn giới thiệu về mình tí thôi
Vì khi bung 2 file framework-res và SystemUI thì đều thấy có icon pin trong ấy nhưng chỉ khác là bên framework-res chỉ có icon pin thứ là 0,10,15,20,28,40,43,57,60,71,80,85,100 và cũng tương tự cho icon charge_aim. Còn SystemUI thì nó có đủ hết từ 0 đến 100.Mình góp ý thêm chỗ này nếu các bạn dùng cách 2 tức là khi up qua recovery nó sẽ thay cả ứng dụng SystemUI.apk chứ không phải chỉ đơn giản là thay icon pin
Như vậy cũng đồng nghĩa nó sẽ thay đổi những tính năng thuộc ứng dụng SystemUI.apk
Xin cảm ơn chia sẽ của bácMod %pin ở 1x là chỉnh sửa và thay icon pin ở file SystemUI.apk cách thực hiện như trên
Bạn cần apkmanager (khá thân thiện).Sẳn bác cho cháu hỏi là để lấy được file framework-res.apk, SystemUI.apk, com.htc.resources.apk thì dùng cygwin exctract ROM ra rồi lấy sau đó dùng apktool để decompile file *.apk từ ROM phải không bác. Hay mở ROM bằng Winrar rồi tìm đến 3 file trên rồi click phải chọn "Extract to specticifed folder" rồi bắt đầu decompile nó được không bác?
[B]Step 1: Getting Comfortable with the Android SDK and AVD Manager[/B]
The Android SDK and AVD Manager is integrated into the Eclipse IDE when you install the Android Development Tools (ADT) plug-in. The Android SDK and AVD Manager is used to keep track of the different Android SDK targets installed on your development machine, as well as to manage the Android Virtual Devices (AVDs) used by the Android Emulator to mimic the behavior of real Android devices.
An Android Emulator must have an AVD configuration in order to function. An AVD represents a unique, persistent system image. Any Settings changed and applications installed while using the AVD within the Emulator will be stored within the system image.
An AVD configuration also describes how the emulator should emulate a real device, including:
What version of the Android platform to emulate (API Level) (Note: The target platform is subject to change if, and when, devices receive over-the-air updates)
Screen size, density, and resolution
SD Card size and contents
Hardware details (Camera? Keyboard? Trackball? D-Pad?)
A complete list of hardware emulation options, including settings and their default values, is available in the Android SDK documentation.
You can launch the Android SDK and AVD Manager from the Eclipse toolbar by pressing the button with the green Android icon with the arrow () or by choosing Window->Android SDK and AVD Manager.
[B]Step 2: Creating an AVD to Emulate the HTC Evo 4G[/B]
One of the newest Android devices on the market, the HTC Evo 4G is a powerful new phone with a nice big screen, a powerful processor, and a great camera.
The important specs of this device from an Emulator perspective are:
Target platform: Currently Android 2.1
Screen info: Large screen, high density
Lack of keyboard and DPad
Lack of trackball
Therefore, let’s create an AVD configuration called Evo4G:
Within Eclipse, launch the Android SDK and AVD Manager
Select “Virtual Devices” from the left-hand options
Click the “New” button to create a new AVD configuration
Name the AVD: “Evo4G”
Select the Target: “Google APIs API Level 7”
Input the SD Card Size: “8GB”
Input the Skin Details: “800×480”
Edit the Hardware Property for Abstracted LCD Density: “217”
Add another Hardware Property for DPad Support: “No”
Add another Hardware Property for Keyboard Support: “No”
Add another Hardware Property for Track-ball Support: “No”
Save the AVD
You have now created an AVD that can be used by the Android Emulator to closely resemble and behave like the HTC Evo 4G. If you launch an Android application in emulator while this AVD, you can see that the screen closely resembles the experience one would have on the actual device. If you own one of these devices, you may immediately notice that the screen doesn’t look the same (software-wise). The emulator does not provide third-party add-ons, such as the HTC Sense UI.
Bạn cần apkmanager (khá thân thiện).
Làm theo hướng dẫn.
bạn cần bung systemui.apk
200 png, file battery stat, battery charge anim và public.xml nữa. ( cái naỳ cầ,n cấp resourceid cho từng icon khá đau đầu)
Ví dụ thế này nhé :
Mình muốn lấy file SystemUI từ một custom nào đó thì chỉ việc exctract nó ra bằng winrar là được phải không bạn. Hay là phải dùng soft nào đó để bung ROM như cygwin chẳng hạn
nó là platform thôi, ko phải tool.