• Hiện tại trang web đang trong quá hình chuyển đổi và tái cấu trúc lại chuyên mục nên có thể một vài chức năng chưa hoàn thiện, một số bài viết và chuyên mục sẽ thay đổi. Nếu sự thay đổi này làm bạn phiền lòng, mong bạn thông cảm. Chúng tôi luôn hoan nghênh mọi ý kiến đóng góp để chúng tôi hoàn thiện và phát triển. Cảm ơn

Tìm hiểu về tweak/ mod cho Android phone/HOX cho người mới bắt đầu.

thanhvo31

New Member
Bạn có muốn tìm hiểu các chef 'quảng cáo' các tính năng hoàn hảo khi nói về ROM của mình hay không, xin hãy cùng nhau tìm hiểu và chia sẻ:
Ví dụ
- Very fast
- Fully de-odexed
- Zipaligned with sdk r19
- Rooted whith supersu 0.88 thanks to chainfire
- Unsecured boot.img
- Data app enabled
- RAM optimizations
- NANO text editor & sysro/sysrw commands support
- GPU Acceleration
- Busybox 1.19.4
- Init.d busybox run-parts
- Tweaked build.prop
- SQLlite3
- Zipaligns apk's at boot
- Bravia engine

Vậy ta sẽ từ từ tìm hiểu xem các DEV/CHEF làm thế nào nhé.

VD1 Zipaligns apk's at boot

Nếu ta tìm tới folder \system\etc\init.d\ ở đây chứa từ 1 tới nhiều file, ND của 1 file tên là 97zipalign như sau

Mã:
#!/system/bin/sh
# LeeDrOiD HD Automatic ZipAlign by Wes Garner
# ZipAlign files in /data that have not been previously ZipAligned (using -c 4)

LOG_FILE=/data/zipalign.log
    if [ -e $LOG_FILE ]; then
    	rm $LOG_FILE;
    fi;
    	
echo "Starting Automatic ZipAlign $( date +"%m-%d-%Y %H:%M:%S" )" | tee -a $LOG_FILE;
    for apk in /data/app/*.apk ; do
	zipalign -c 4 $apk;
	ZIPCHECK=$?;
	if [ $ZIPCHECK -eq 1 ]; then
		echo ZipAligning $(basename $apk)  | tee -a $LOG_FILE;
		zipalign -f 4 $apk /cache/$(basename $apk);
			if [ -e /cache/$(basename $apk) ]; then
				cp -f -p /cache/$(basename $apk) $apk  | tee -a $LOG_FILE;
				rm /cache/$(basename $apk);
			else
				echo ZipAligning $(basename $apk) Failed  | tee -a $LOG_FILE;
			fi;
	else
		echo ZipAlign already completed on $apk  | tee -a $LOG_FILE;
	fi;
       done;
echo "Automatic ZipAlign finished at $( date +"%m-%d-%Y %H:%M:%S" )" | tee -a $LOG_FILE;
.

hay file khác
Mã:
#!/system/bin/sh
# DarkyROM 2011
# Much faster zipalign.

# Changelog:
# 1.2 (17/1/11) Added /data/zipalign.db file for faster apk check (ninpo,Bo$s)
# 1.1 (12/1/09) Switched to zipalign -c 4 to check the apk instead of MD5 (oknowton)
# 1.0 (11/30/09) Original

LOG_FILE=/data/zipalign.log
ZIPALIGNDB=/data/zipalign.db

if [ -e $LOG_FILE ]; then
	rm $LOG_FILE;
fi;

if [ ! -f $ZIPALIGNDB ]; then
	touch $ZIPALIGNDB;
fi;

echo "Starting FV Automatic ZipAlign $( date +"%m-%d-%Y %H:%M:%S" )" | tee -a $LOG_FILE

for DIR in /system/app /data/app ; do
  cd $DIR
  for APK in *.apk ; do
    if [ $APK -ot $ZIPALIGNDB ] && [ $(grep "$DIR/$APK" $ZIPALIGNDB|wc -l) -gt 0 ] ; then
      echo "Already checked: $DIR/$APK" | tee -a $LOG_FILE
    else
      zipalign -c 4 $APK
      if [ $? -eq 0 ] ; then
        echo "Already aligned: $DIR/$APK" | tee -a $LOG_FILE
        grep "$DIR/$APK" $ZIPALIGNDB > /dev/null || echo $DIR/$APK >> $ZIPALIGNDB
      else
        echo "Now aligning: $DIR/$APK" | tee -a $LOG_FILE
        zipalign -f 4 $APK /cache/$APK
        busybox mount -o rw,remount /system
        cp -f -p /cache/$APK $APK
        busybox rm -f /cache/$APK
        grep "$DIR/$APK" $ZIPALIGNDB > /dev/null || echo $DIR/$APK >> $ZIPALIGNDB
      fi
    fi
  done
done

busybox mount -o ro,remount /system
touch $ZIPALIGNDB
echo "Automatic ZipAlign finished at $( date +"%m-%d-%Y %H:%M:%S" )" | tee -a $LOG_FILE

Tạm hết phần zipalign.
 

apo262

New Member
Ủng hộ bác phát. Em đang có nhu cầu tìm hiểu mấy vụ này! Ko có nút Thanks :p
 

thanhvo31

New Member
Tối ưu CSDL cho các UD (Optimize SQlite databases of apps)

Vụ 2: SQLlite3

Đây là script sử dụng hàm VACUUM và REINDEX để dọn dẹp CSDL

Mã:
#!/system/bin/sh

# ==============================================================
# Optimize SQlite databases of apps
# ==============================================================

echo "";
echo "*********************************************";
echo "Optimizing and defragging your database files (*.db)";
echo "Ignore the 'database disk image is malformed' error";
echo "Ignore the 'no such collation sequence' error";
echo "*********************************************";
echo "";

for i in \
`busybox find /data -iname "*.db"`; 
do \
	/system/xbin/sqlite3 $i 'VACUUM;'; 
	/system/xbin/sqlite3 $i 'REINDEX;'; 
done;

if [ -d "/dbdata" ]; then
	for i in \
	`busybox find /dbdata -iname "*.db"`; 
	do \
		/system/xbin/sqlite3 $i 'VACUUM;'; 
		/system/xbin/sqlite3 $i 'REINDEX;'; 
	done;
fi;


if [ -d "/datadata" ]; then
	for i in \
	`busybox find /datadata -iname "*.db"`; 
	do \
		/system/xbin/sqlite3 $i 'VACUUM;'; 
		/system/xbin/sqlite3 $i 'REINDEX;'; 
	done;
fi;


for i in \
`busybox find /sdcard -iname "*.db"`; 
do \
	/system/xbin/sqlite3 $i 'VACUUM;'; 
	/system/xbin/sqlite3 $i 'REINDEX;'; 
done;
 
Chỉnh sửa cuối:

thanhvo31

New Member
Tối ưu A-GPS

AGPS tweaks
Tham khảo thêm về A-GPS trên wiki

Phương thức hoạt động (theo Gtrans nhé)

AGPS có hai chế độ hoạt động:
Trạm di động sự hỗ trợ (MSA) - Trong hoạt động A-GPS MSA chế độ, các thiết bị A-GPS có khả năng nhận được hỗ trợ mua lại, thời gian tham khảo và các dữ liệu hỗ trợ khác tùy chọn từ máy chủ A-GPS. Với sự giúp đỡ của các dữ liệu trên các thiết bị A-GPS nhận được tín hiệu từ các vệ tinh nhìn thấy được và gửi các phép đo đến máy chủ A-GPS. Các máy chủ A-GPS tính toán vị trí và gửi nó trở lại với thiết bị A-GPS.

Trạm di động dựa trên (MSB) - A-GPS hoạt động MSB chế độ, các thiết bị A-GPS nhận Lịch thiên văn, địa điểm tham khảo, thời gian tham khảo và các dữ liệu hỗ trợ khác tùy chọn từ máy chủ A-GPS. Với sự giúp đỡ của các dữ liệu trên các thiết bị A-GPS nhận được tín hiệu từ các vệ tinh nhìn thấy được và tính toán vị trí.

Thông thường

File gps.conf nội dung thế này
Mã:
NTP_SERVER=north-america.pool.ntp.org
XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin
XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin
XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin
PHONE_TYPE=UMTS
SUPL_HOST=supl.google.com
SUPL_PORT=7276
SUPL_TLS_CERT=/etc/SuplRootCert
SLP_TYPE=FQDN_PHONE
PROTOCOL_TYPE=Non_TLS

Nhưng có nhiều bác sửa lại cái địa chỉ NTP_SERVER vd châu Á hay VN cho gần
Mã:
NTP_SERVER=vn.pool.ntp.org
XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin
XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin
XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin
PHONE_TYPE=UMTS
SUPL_HOST=supl.google.com
SUPL_PORT=7276
SUPL_TLS_CERT=/etc/SuplRootCert
SLP_TYPE=FQDN_PHONE
PROTOCOL_TYPE=Non_TLS

Tuy nhiên gần đây có một số cao thủ chạy hẳn dedicate server như sau:

Mã:
##################################################
### NTP IS NETWORK TIME PROTOCOL AND PROVIDES  ###
### A TIME-HACK TO DEVICES THAT HAVE SYNCING   ###
### MADE READLIY POSSIBLE.  MANY XDA PATCHES   ###
### MISINTERPRET WHAT NTP IS AND IMPORTANCE.   ###
### NTP PACKETS HAVE BUILT-IN MECHANISMS FOR   ###
### TRANSMISSION LOSS.  NTP PACKETS ARE VERY   ###
### SMALL.  LASTLY, NTP MATTERS FOR PARSING    ###
### THE XTRA.BIN.  BUT, IT ONLY MATTERS WHEN   ###
### YOUR DEVICE HAS ITS TIME EXTREMELY OFFSET  ###
### COMPARED TO REALITY.  THUS, I BUILD THIS   ###
### PATCH FOR WORLDWIDE OPERATION.  RARELY     ###
### WOULD LOCAL NTP SERVERS BE REQUIRED.       ###
##################################################

NTP_SERVER=ntp.derekgordon.com

###

##################################################
### AGPS AND XTRA TELL THE AGPS DAEMON WHERE   ###
### IT MAY LOCATE THE AGPS DATA.  THE DATA     ###
### OPERATES AS AN ALMANAC WITH THE LOCATION   ###
### OF GPS SATS STORED WITHIN IT.  THIS DATA   ###
### IS ONLY VALID FOR 24 HOURS.  IT WILL BE    ###
### DOWNLOADED AND CACHED.  IT IS NO LONGER    ###
### KEPT IN THE /DATA/ PARTITION PERMANTENTLY. ###
### THERE IS NO POINT TO KEEP IT THERE!        ###
##################################################
### MY SERVER PROCESSES THE XTRA.BIN EVERY 30  ###   
### MINUTES.  TYPICALLY IT UPDATES EVERY HOUR  ###
### WHEN NEW DATA IS AVAILABLE.                ###
### SHOULD MY SERVER BECOME OVERLOADED, I WILL ###
### NEED DONATIONS TO KEEP THIS SUCKER STORED  ###
### AT MORE LOCATIONS.                         ###
##################################################

AGPS=http://derekgordon.com/gps-files/bin/xtra.bin
XTRA_SERVER_1=http://derekgordon.com/gps-files/bin/xtra.bin
XTRA_SERVER_2=http://xtra3.gpsonextra.net/xtra.bin
XTRA_SERVER_3=http://xtra2.gpsonextra.net/xtra.bin
 
###

##################################################
### NOT GOING TO GO INTO DETAIL HERE.  THESE   ###
### NEED TO BE CALLED FIRST IN GPS DAEMON      ###
### STARTUP.  RELATES TO AGPS AND SUPL.        ###
##################################################

DEFAULT_AGPS_ENABLE=TRUE
DEFAULT_USER_PLANE=TRUE
DEFAULT_SSL_ENABLE=FALSE

###

##################################################
### INTERMEDIATEPOS RELATES TO USING GPS DATA  ###
### FROM SATS THAT ARE NOT FULLY LOCKED.       ###
### THE ACCURACY VARIABLE IS A THRESHOLD MAX   ###
### ON DEVIATIONS FROM THE ASSUMED LOCATION    ###
### WHERE THE DEVICE WILL DISCARD DATA.        ###
### THIS VARIABLE IS =0 IN ALTERNATE BUILDS    ###
##################################################

INTERMEDIATE_POS=1
ACCURACY_THRES=3000

###

##################################################
### THIS IS QUALITY OF SERVICE INFORMATION FOR ###
### PROCESSING THE GPS DATA.  MOST SHOULD BE   ###
### SELF-EXPLANATORY.  GPS DATA OUTSIDE THE    ###
### ACCURACY AND THRESHOLD RANGE WILL NOT BE   ###
### USED WHEN POSITIONING DATA.                ###
##################################################

QOS_ACCURACY=50
QOS_TIME_OUT_AGPS=95
QOS_TIME_OUT_STANDALONE=80
QosHorizontalThreshold=1000
QosVerticalThreshold=500

###

##################################################
### THESE VARIABLES RELATE TO AGPS. IT SAYS TO ###
### USE AGPS.  THIS WILL NOT BE USED IF YOUR   ###
### ROM HAS AGPS DISABLED IN THE CODE.         ###
### THE SERVER IP IS FOR AN INTERNAL IP FOR    ###
### ACCESSING THE AGPS DAEMONS DATA WHEN IT    ###
### IS OPERATIONAL.                            ###
##################################################

AssistMethodType=1
AgpsUse=1
AgpsServerType=1
AgpsServerIp=3232235555
AgpsMtConf=0
AgpsMtResponseType=1

###

##################################################
### THIS SUPL DATA IS TO MATCH THE SUPLROOTCERT ##
### IF IT IS REQUIRED BY THE SUPL SERVER.      ###
##################################################

SUPL_HOST=supl.google.com
SUPL_PORT=7276
#SUPL_SECURE_PORT=7275
SUPL_NO_SECURE_PORT=3425
#SUPL_TLS_HOST=FQDN
#SUPL_TLS_CERT=/etc/SuplRootCert
REPORT_POSITION_USE_SUPL_REFLOC=1

###

####################################################
### Carrier tags used univesrally in GPS configs ###
####################################################

CURRENT_CARRIER=common
PHONE_TYPE=UMTS

###

Cái sau cùng fix cực nhanh nhé. :)):)):))
 
Last edited by a moderator:

thanhvo31

New Member
Ủng hộ bác phát. Em đang có nhu cầu tìm hiểu mấy vụ này! Ko có nút Thanks :p

Thanks!

Mong muốn của tôi là làm 1 ROM STOCK mà bất kỳ ai cũng có thể đóng góp và chia sẻ cũng như chỉnh sửa thêm bớt theo ý mình.

Share is care!

Vậy thì chuẩn bị vào bếp thôi.

Đầu tiên sắm bếp trước nè: [KITCHEN] Android Kitchen, v0.193 [Linux / Mac / Windows]

Sau đó sắm:
Nguyên liệu chính RUU hay nhà trồng được
Sắm thêm gia vị các loại.
 
Last edited by a moderator:

daica

New Member
đã quá bác ơi, mình cũng muốn tự deodex 1 bản rom stock rồi tuỳ ý thêm bớt app + tweak.
Thanks bác.
 

batanguyen

New Member
Quá hay luôn bác ơi ..... Ủng hộ bác hai tay hai chân chọ vụ án này
Bữa giờ tự làm một mình đuối quá giờ thấy topic này cứ như sắp chết đuối mà vớ được cái phao hehe
 
Chỉnh sửa cuối:

thanhvo31

New Member
[ROM] [Sep.13.12] hTC_Asia_WWE_707 v1.2 latest base 2.17.707.3

Bản 707 cho Việt Nam ở đây ạ

Mời các bác

Đang chuẩn bị bếp núc chế thêm mấy món cơm thêm % battery, EQS,..

Up lên cho các bác quan tâm.
 

batanguyen

New Member
Bản 707 cho Việt Nam ở đây ạ

Mời các bác

Đang chuẩn bị bếp núc chế thêm mấy món cơm thêm % battery, EQS,..

Up lên cho các bác quan tâm.
Đang down về để làm vài thứ đơn giản như Battery, EQS, remove một số app không cần thiết :D, nhưng không biết extract cái tweak của ROM bác Minh cho vào như thế nào hay chỉ việc install bình thường nhỉ ???

Cái phàn GPS thì hiểu nhưng phần Zipaligns công dụng là gì thì mình vẫn chưa hiểu :(( Bác có thể hướng dẫn rõ hơn không
Và phần add cái EQS cụ thể như thế nào vào ROM không bác chỉ biết là decompile và add vào file SystemUI.apk và sau đó compile nó lại
 

batanguyen

New Member
Cho mình post một bài tìm được trên mạng
Các thuật ngữ thường dùng khi bạn "Root" máy!
Tiếp theo bài viết về "Root", mình viết tiếp một bài nói về các thuật ngữ thường gặp khi bạn Root máy. Trong bài viết có thể còn nhiều điều sơ sót, rất mong nhận được sự góp ý trực của các bạn để chúng ta có những khái niệm chính xác về những thuật ngữ này.

B
-----------------------------------------------------

A2SD +

A2SD + là một ứng dung mở rộng của phiên bản Froyo 2.2, giúp bạn cài đặt các ứng dụng trên thẻ SD. Ứng dụng này chỉ chạy được khi bạn đã phân vùng chiếc thẻ nhớ của bạn.Hầu hết các bản ROMS hiện nay của Android đều đã hỗ trợ chức năng này.

AOSP

AOSP là viết tắt của từ Android Open Source Project, dịch nôm na là dự án mã nguồn mở Android. AOSP là một bản ROM cơ bản do Google cung cấp, mỗi một phiên bản mới của hệ điều hành do Google phát triển đều có một AOSP riêng, các hãng sản xuất điện thoại sẽ dựa trên AOSP Google cung cấp mang về tự phát triển thành những hệ điều hành mang bản sắc riêng dành cho mỗi dòng máy của mình. Bạn có thể dễ dàng nhận thấy điều này khi dùng thử 2 máy điện thoại cùng một phiên bản (ví dụ: Froyo) nhưng khác hãng sản xuất, bạn sẽ thấy giao diện và cách thức hoạt động của chúng có những điểm khác nhau. Điểm chung duy nhất của nó ở đây chỉ là nó cùng chung một AOSP do Google cung cấp.

B

-----------------------------------------------------

Bootloader

Bootloader là chương trình khởi động hệ thông và hệ điều hành, được lập trình sẵn và cài đặt trên ROM. Một định nghĩa khác rộng hơn: đó là một đoạn mã được thực thi trước khi hệ điều hành bắt đầu chay. Trên thiết bị Android, Bootloader thường bị khóa vì các nhà sản xuất muốn bạn sử dụng phiên bản của Android mà họ đã cung cấp. Với một Bootloader bị khóa trên điện thoại Android, các Custom Rom có thể không flash được.

BusyBox

BusyBox là một ứng dụng trên điện thoại của bạn mà nó sẽ cung cấp cho bạn quyền truy cập để bổ sung một số lệnh cơ bản của Linux / Unix. Bạn có thể cần cài đặt BusyBox để thực hiện một số tác vụ khi root máy, và một số ứng dụng khác yêu cầu phải root, vì vậy cài đặt BusyBox là cần thiết.

C
-----------------------------------------------------

ClockworkMod Recovery

Tôi không biết phải định nghĩa thuật ngữ này như thế nào, nhưng bạn có thể nghĩ về chế độ Recovery của Android tương đương với chế độ BIOS trên máy tính. . Đó là một trình đơn khởi động được hiển thị, và nó cho phép bạn truy cập vào một số tính năng nhất định như backup ( Nandroid backup) và cài đặt Custom ROM. ClockworkMod là ứng dùng Recovery phổ biến nhất hiện này, và nó được cài đặt cùng với ứng dụng ROM Manager .

CyanogenMod hoặc CM

CyanogenMod , thường viết tắt là CM , là một phiên bản tùy biến của Cyanogen. CyanogenMod là Custom ROM phổ biến nhất cho Android - một nỗ lực của cả cộng đồng, và rất nhiều bản ROM khác đều dựa trên CyanogenMod.

D
-----------------------------------------------------

Dalvik & Dalvik cache

Dalvik là tên của máy ảo (VM) trong Android, và nó là cơ sở cho việc chạy các ứng dụng (với các tập tin .apk mở rộng). Trước khi một ứng dụng Android được tung ra, chúng được convert sang định dang Dalvik Executable (. dex), được thiết kế để phù hợp với hệ thống bị hạn chế về bộ nhớ và tốc độ xử lý. Dalvik ban đầu được viết bởi Dan Bornstein, người đã đặt tên cho nó theo tên của ngôi làng Dalvik trong vùng Eyjafjörður của Iceland, nơi mà một số tổ tiên của ông sống tại đây.

Dalvik cache là một bộ nhớ cache đơn giản được sử dụng bởi Dalvik , và đó là kết quả của việc Dalvik làm tối ưu hóa các ứng dụng đang chạy. Một số ROM Android cho phép bạn di chuyển các bộ nhớ Dalvik cache vào thẻ SD của bạn, để giải phóng bộ nhớ trong của bạn.

Data2SD / D2EXT / D2SD

Nếu một ROM hỗ trợ data2SD , D2EXT , hoặc đơn giản chỉ là D2SD , có nghĩa là thư mục / data nằm trong bộ nhớ trong của điện thoại có thể được di chuyển đến thẻ nhớ của bạn. Đó là một điều tốt, bởi vì nó sẽ giải phóng bớt dung lượng trong bộ nhớ trong và để lại nhiều khoảng trống hơn cho các ứng dụng và trò chơi.

Deodexed

Đây có thể là thuật ngữ khó nhất để giải thích trong từ điển thuật ngữ root, nhưng tôi sẽ làm tốt nhất có thể để giải thích cho các bạn.
Khi ROM đã được deodexed , có nghĩa là các ứng dụng của nó đã được chuẩn bị để họ có thể được sửa đổi. Ứng dụng ROM Deodexed đã được đóng gói theo một cách nhất định. Các ứng dụng Android . APKs. , chứa tập tin .odex mà các nhà phát triển được cho là sử dụng để tiết kiệm khoảng trống bộ nhớ. Những tập tin .odex được trích xuất từ các gói ứng dụng và đưa vào thư mục //system trên điện thoại của bạn, để tăng tốc quá trình khởi động và để cho phép một phần của ứng dụng được cài load trước.



E

-----------------------------------------------------

EXT2/3/4

Chúng ta đang nói đến phân vùng ext2 , ext3 và ext4 trên thẻ SD của bạn. EXT là hệ thống tập tin mở rộng của Linux có thể được sử dụng cho Android. Nhiều Custom ROM yêu cầu bạn phải có một ext3 hoặc ext4 phân vùng ext2 trên thẻ nhớ của bạn. Ext2 là loại cổ nhất của hệ thống tập tin mở rộng, và ext4 là mới nhất và ext3 hệ thống tập tin hiện đang là phổ biến nhất. Để sử dụng một trong các hệ thống tập tin, bạn cần tạo một phân vùng đặc biệt trên thẻ SD của bạn với Manager ROM hoặc GParted.

Vậy chính xác phân vùng là gì? Đó là một phần của một đĩa cứng hay thẻ SD trong trường hợp này, nó được tách ra từ các phần khác. Hãy suy nghĩ như là thẻ SD của bạn được chia thành hai phần có mục đích khác nhau.

F
-----------------------------------------------------

Firmware

Trong lĩnh vực điện tử và máy tính firmware là một chương trình cố định để liên kết các phần cứng và phần mềm, nó cũng hay được gọi là phần sụn. Nó có cấu trúc khá nhỏ, liên kết chặt chẽ với phần cứng để kiểm soát mọi quá trình hoạt động của thiết bị điện tử.

Firmware android cũng vậy, nó là chương trình điều khiển phần cứng của thiết bị android, mọi người vẫn hiểu nó như là hệ điều hành. Firmware android quản lý, điều khiển thiết bị từ lúc khởi động thiết bị đến lúc thiết bị hoạt động, trong khi hoạt động,.. nó giám sát thiết bị bạn 24/7. Khi bạn gọi điện, nó quản lý các phần cứng liên quan phục vụ việc gọi điện của bạn,... bất kỳ mọi thao tác của bạn trên điện thoại firmware đều quản lý.

Stock Firmware là firmware gốc của một hãng sản xuất điện thoại phát triển cho một dòng điện thoại nào đó. Với Stock firmware thì bạn không thể chỉnh sửa được.

Flash và Flashing

Flash đơn giản là một động từ dùng để chỉ hành động cài đặt một custom ROM, hoặc một phần của firmwar, đơn giản chỉ có nghĩa là bạn cài đặt nó. Vì vậy, flashing là quá trình cài đặt phiên bản mới của hệ điều hành Android, hay một phần của nó . Flash một ROM mới được thực hiện thông qua chế độ Recovery, thường là với ClockworkMod Recovery .

H
-----------------------------------------------------

HBoot

HBoot được nạp ngay lập tức khi điện thoại của bạn được bật lên, và trách nhiệm chủ yếu của nó là kiểm tra phần cứng và khởi động phần mềm điện thoại. HBoot có thể được so sánh với BIOS trên máy tính.

I
-----------------------------------------------------

IME

Từ viết tắt này chỉ có nghĩa là "bàn phím ảo”.

K
-----------------------------------------------------

Kernel

Kernel là thành phần trung tâm của hầu hết các hệ điều hành: đó là một cầu nối giữa các ứng dụng và thực hiện xử lý dữ liệu thực tế (data proccessing) ở cấp độ phần cứng. Các Kernel Linux ban đầu được tạo ra bởi huyền thoại máy tính người Phần Lan Linus Torvalds vào năm 1991. Android Kernel thường được tùy chỉnh, tối ưu hóa và sửa đổi cho nhiều mục đích khác nhau, chẳng hạn như over-clocking bộ vi xử lý hoặc kéo dài tuổi thọ pin. Custom ROM thường bao gồm một Kernel mới.

M
-----------------------------------------------------

MIUI ROM

MIUI là một phiên bản custom firmware 2,2 Froyo, của một nhóm lập trình người Trung Quốc, và nó đã gây nên một cú shock mạnh trong cộng đồng Android vào tháng Chín năm 2010. MIUI có những phần tốt nhất của Froyo, giao diện TouchWiz của Samsung và IOS, và biến đổi các yếu tố khác nhau thành một cái gì đó khá độc đáo. Rất nhiều developer đã phát hành phiên bản riêng của họ về MIUI, và có sẵn nhiều ROMS cho nhiều thiết bị khác nhau. Và nó có hẳn một diễn đàn riêng về MIUI trên trang chủ của nhóm.

N
-----------------------------------------------------

NANDroid & NANDroid Backup.

NANDroid sẽ cho phép bất cứ ai có quyền root thực hiện sao lưu hoàn toàn hệ thống. Nó cho phép bạn tạo ra một bản sao lưu của tất cả thông tin trên điện thoại của bạn, và nó có thể được phục hồi sau này bất cứ khi nào bạn muốn. NANDroid Backup thường được thực hiện trước khi flash ROM mới, trong trường hợp có bất cứ điều gì sai, hoặc nếu bạn muốn quay trở lại thiết lập trước đó của bạn. NANDroid Backup được thực hiện trên chế độ Recovery, thường với ClockworkMod Recovery .

O
-----------------------------------------------------

Odexed

Xem deodexed .

R
-----------------------------------------------------

Radio

Đây không phải là đài phát thanh bạn vẫn nghe trên sóng FM. Đây là Radio trên điện thoại của bạn để xử lý việc truyền thông tin, Radio có thể gửi và nhận được giọng nói và dữ liệu. Flash (cài đặt) một Radio mới có thể cải thiện chất lượng cuộc gọi của bạn, và mang lại lợi ích khác. Một Radio được cài đặt thông qua chế độ Recovery, cũng giống như một ROM Android đầy đủ khác.

Radio Interface Layer (RIL)

Android cung cấp một giao diện vô tuyến (RIL) giữa các dịch vụ điện thoại Android và Radio của phần cứng. Nhà phát triển và những người đam mê thưởng không hài lòng với mọi thứ của Android, và một số trong số họ đã sửa đổi các RIL để làm cho nó tốt hơn.

RC1, RC2 vv

Khi nói đến Android ROM, RC là viết tắt của từ Release Candidate . Đó là những phiên bản ROM thử nghiệm cuối cùng trước khi đưa ra chính thức, nó cũng được coi là bản Rom beta.

Recovery Mode

Như đã giải thích theo ClockworkMod , các chế độ Recovery là một menu mà bạn có thể khởi động vào cho phép bạn thực hiện sao lưu toàn bộ điện thoại của bạn ( Nandroid Backup), cài đặt Custom ROM và nhiều hơn nữa. ClockworkMod là một Recovery Mode rất phổ biến hiện nay , và bạn có thể có được nó thông qua ứng dụng quản lý ROM dưới đây.

ROM Manager

ROM Manager là một ứng dụng vô cùng phổ biến cho người dùng root, và nó cho phép bạn cài đặt ClockworkMod Recovery, cài đặt ROM từ thẻ SD của bạn, thực hiện sao lưu và thậm chí tải ROM mới..

Root

Nói một cách dễ hiểu thì “Root” có nghĩa là bạn sẽ được điều khiển hoàn toàn và chủ động những gì có trong chiếc điện thoại của bạn và những gì mà nhà cung cấp đã ẩn nó đi. Khi bạn “Root”, bạn chính thức là người chủ và kiểm soát hoàn toàn chiếc máy điện thoại của bạn. Các bạn đọc thêm bài viết về Root của mình ở trên.


S
-----------------------------------------------------

S-OFF

Trên Desire HTC và một số điện thoại Android HTC khác, HTC đã thực hiện một hình thức an ninh. "Nó được gọi là" @ secuflag , và nó theo dõi điện thoại của bạn đã flash NAND hoặc mở khóa chưa. S-ON (bảo mật mở) chế độ sẽ đọc và khóa phân vùng /system và /recovery của bạn lại, ngăn chặn bạn thực hiện những hành vi root Android.
Bạn có thể vô hiệu hóa các biện pháp an ninh này với S-OFF, mặc dù bạn có nguy cơ bị brick điện thoại.

SetCPU

Đây là một ứng dụng phổ biến cho việc ép xung bộ vi xử lý của điện thoại, làm cho nó nhanh hơn hoặc chậm hơn. Nó có thể đòi hỏi một Kernel đặc biệt để làm việc.

SuperUser

Android là một hệ điều hành dựa trên Linux, và trong Linux, có một thứ gọi là quyền root . Khi bạn root điện thoại Android của bạn, bạn sẽ có quyền root. Những superuser hay những người có quyền root là người chiếm vị trí admin của máy, và họ có quyền sửa đổi bất cứ thứ gì trên chiếc điện thoại của họ. SuperUser cũng là tên của một ứng dụng, cho phép bạn cấp hoặc từ chối quyền root đối các ứng dụng khác.

T
-----------------------------------------------------

Terminal và Terminal Emulator

Terminal dịch ra tiếng Việt nghĩa là thiết bị đầu cuối. Nó là một chương trình dùng để điều khiển mọi hoạt động của máy tính bằng dòng lệnh. Nếu ai đã từng sử dụng hệ điều hành Windows của Microsoft sẽ thấy Terminal na ná như Command Prompt (gọi tắt là cmd) hay cũng giống như một môi trường DOS thu nhỏ. Và nó chủ yếu là hữu ích cho các lập trình viên và cho những người có quyền root. Ví dụ, gõ dòng lệnh sau trong Terminal Emulator khi a2sd được cài đặt sẽ chuyển Dalvik cache vào thẻ SD:

su (cho ứng dụng superuser có quyền truy cập)
a2sd cachesd (di chuyển Dalvik cache vào thẻ SD)

Titan Backup

Titan Backup là công cụ sao lưu tốt nhất cho người dùng root, vì nó cho phép bạn sao lưu tất cả các ứng dụng của bạn cũng như dữ liệu của nó.

Z
-----------------------------------------------------

Zipaligned

Zipalign là một tiện ích tối ưu hóa một ứng dụng Android (APK.) được đóng gói. Nó cho phép Android tương tác với ứng dụng hiệu quả hơn, và khi làm như vậy, nó có khả năng để làm cho các ứng dụng và toàn bộ hệ thống Android nhanh hơn nhiều. Ứng dụng Zipaligned hoạt động nhanh hơn, và sử dụng ít bộ nhớ RAM.

Nguồn
Bài viết từ ApsTech - Congnghe-aps.com
 
Chỉnh sửa cuối:

thanhvo31

New Member
Đang down về để làm vài thứ đơn giản như Battery, EQS, remove một số app không cần thiết :D, nhưng không biết extract cái tweak của ROM bác Minh cho vào như thế nào hay chỉ việc install bình thường nhỉ ???

Cái phàn GPS thì hiểu nhưng phần Zipaligns công dụng là gì thì mình vẫn chưa hiểu :(( Bác có thể hướng dẫn rõ hơn không
Và phần add cái EQS cụ thể như thế nào vào ROM không bác chỉ biết là decompile và add vào file SystemUI.apk và sau đó compile nó lại

EQS & APM mượn của Maximus 3.1 thì OK, Battery% mod thì tôi decomplied/compiled mãi chưa thành công.

Bạn đã có % batt cho 2.17.707.03 chưa?
 

thanhvo31

New Member
Cái phàn GPS thì hiểu nhưng phần Zipaligns công dụng là gì thì mình vẫn chưa hiểu :(( Bác có thể hướng dẫn rõ hơn không

Nhờ Google Translate

zipalign

zipalign là một sự liên kết lưu trữ công cụ cung cấp tối ưu hóa quan trọng để ứng dụng Android (apk) các tập tin. Mục đích là để đảm bảo rằng tất cả các dữ liệu không nén bắt đầu với một sự liên kết đặc biệt liên quan đến sự bắt đầu của tập tin. Cụ thể, nó gây ra tất cả các dữ liệu không nén trong apk, chẳng hạn như hình ảnh hoặc file liệu, được xếp trên 4-byte ranh giới. Điều này cho phép tất cả các phần để được truy cập trực tiếp với mmap() ngay cả khi chúng chứa dữ liệu nhị phân với các hạn chế liên kết. Lợi ích là giảm số lượng RAM tiêu thụ khi chạy các ứng dụng.

Công cụ này nên luôn luôn được sử dụng để sắp xếp tập tin của bạn. Apk trước khi phân phối đến người dùng cuối cùng. Các công cụ xây dựng Android có thể xử lý việc này cho bạn. Khi sử dụng Eclipse với các plugin ADT, Export Wizard sẽ tự động zipalign apk của bạn. Sau khi nó có dấu hiệu nó với khóa riêng của bạn. Các kịch bản xây dựng được sử dụng khi biên dịch ứng dụng của bạn với Ant cũng sẽ zipalign apk của bạn., Miễn là bạn đã cung cấp đường dẫn đến keystore của bạn và bí danh chủ chốt trong dự án của bạn ant.properties tập tin, để xây dựng các công cụ có thể đăng ký các gói đầu tiên .

Chú ý: zipalign chỉ phải được thực hiện sau khi các tập tin apk đã được ký kết với khóa riêng của bạn. Nếu bạn thực hiện zipalign trước khi ký kết, sau đó các thủ tục ký kết sẽ lùi lại sự liên kết. Ngoài ra, không làm thay đổi các gói phù hợp. Sự thay đổi vào kho lưu trữ, chẳng hạn như đổi tên hoặc xóa các mục, có khả năng sẽ phá vỡ sự liên kết của các mục sửa đổi và tất cả các mục sau. Và bất kỳ tập tin thêm vào một kho lưu trữ "liên kết" sẽ không được liên kết.

Điều chỉnh được thực hiện bằng cách thay đổi kích thước của các lĩnh vực "thêm" trong các phần tập tin zip Tiêu đề địa phương. Dữ liệu hiện có trong các lĩnh vực "thêm" có thể được thay đổi bởi quá trình này.

Để biết thêm thông tin về cách sử dụng zipalign khi xây dựng ứng dụng của bạn, xin vui lòng đọc ký ứng dụng của bạn .

Cách sử dụng

Để sắp xếp infile.apk và lưu nó như outfile.apk :

zipalign [-f] [-v] <alignment> infile.apk outfile.apk
Để xác nhận sự liên kết của existing.apk :

zipalign-c-v <alignment> existing.apk
Các <alignment> là một số nguyên xác định ranh giới byte alignment. Điều này luôn luôn phải có 4 (cung cấp liên kết 32-bit) hoặc người nào khác nó có hiệu quả không có gì.

Flags:

-f : ghi đè lên outfile.zip hiện có
-v : đầu ra rườm rà
-c : xác nhận sự liên kết của các tập tin nhất định
 

batanguyen

New Member
EQS & APM mượn của Maximus 3.1 thì OK, Battery% mod thì tôi decomplied/compiled mãi chưa thành công.

Bạn đã có % batt cho 2.17.707.03 chưa?

Có thể trích xuất từ rom của Venom qua được dùng qua được không ?
 

batanguyen

New Member
Bổ sung clip cook rom cơ bản trên youtube nè
[video=youtube;G7zWx8HGp5w]http://www.youtube.com/watch?v=G7zWx8HGp5w[/video]

Toàn bộ nội dung của 2 bài post dưới giống với clip này và có phần bổ sung thêm một tí ở phần chức năng

Bài hướng dẫn của XDA dành cho bác nào biết tiếng Anh hoặc dùng google tranlation dịch để đọc cũng được :D
http://forum.xda-developers.com/showthread.php?t=633246
PHP:
HTC One X 
- no ROM support, but de-odexing only!  -> thấy bên forum họ ghi là không hổ trợ ROM của One X nhưng chỉ có thể de-odexing thôi.
 
Chỉnh sửa cuối:

batanguyen

New Member
#1: GIỚI THIỆU CÔNG CỤ & HƯỚNG DẪN CÀI ĐẶT

I- LỜI MỞ ĐẦU

Android Kitchen là công cụ xào nấu ROM cho hệ điều hành được lập trình viên dsixda của trang xda-developer xây dựng và phát triển. Phiên bản cũ hơn mang tên HTC Android Basic Kitchen. Bản Android Kitchen v0.180 hỗ trợ hầu hết các dòng Android của HTC cũng như một số máy khác. Với Android Kitchen, bạn có thể tùy chỉnh nội dung của một bản ROM cho phù hợp với ý thích cá nhân nhằm tối ưu hóa hoạt động của máy. Bài viết sau sẽ hướng dẫn các bạn cài đặt và sử dụng phần mềm này.

Tên phần mềm: dsixda's Android Kitchen v0.180-final (Viết tắt: dsixda's A K)

Danh sách các thiết bị được Android Kitchen v0.180 hỗ trợ:

HTC:

HTC Aria / Liberty

HTC Desire

HTC Desire HD / Inspire 4G

HTC Desire S

HTC Desire Z / Vision / T-Mobile G2

HTC Dream / G1

HTC Droid Eris

HTC Evo 3D

HTC Evo 4G

HTC Evo View 4G (untested)

HTC Evo Shift 4G

HTC Flyer (untested)

HTC HD2
- Use NAND ROM method

HTC Hero / G2 Touch

HTC Incredible

HTC Incredible 2

HTC Incredible S

HTC Legend

HTC Magic / myTouch 3G

HTC myTouch 3G Slide

HTC myTouch 4G / Glacier

HTC Nexus One

HTC Sensation

HTC Tattoo / Click

HTC Thunderbolt

HTC Wildfire / Buzz

Và một số dòng máy khác:
Mã:
Acer Liquid

Dell Streak 7

Huawei Ideos X6

Huawei U8100/U8110/U8120/U8150/U8160

Huawei U8220 / T-Mobile Pulse 

LG Ally

LG GT540 Optimus 

LG Optimus 2X (P990)

LG Optimus Black (unconfirmed)

LG Optimus G2X (P999)

LG P500 

LG Shine Plus

LG Vortex

Micromax A60

Motorola Atrix (unconfirmed)

Motorola CLIQ / CLIQ XT

Motorola Droid

Motorola Milestone (unconfirmed) 
- You may need to remove the boot.img before building

Samsung Galaxy S (GT-I9000 and most variants) 
- Parts of the kitchen were updated to specifically support the Galaxy S

Samsung Galaxy S2 (GT-I9100 and most variants)
- Parts of the kitchen were updated to specifically support the Galaxy S2

Samsung Nexus S / Nexus S 4G

Sony Xperia X10 / X10 Mini / X10 Mini Pro 
- Build ROM without boot.img 

ZTE Blade / Orange San Francisco

Các ROM có thể tùy chỉnh bằng dsixda's A K:
_ROM shipped
_ROM cook
_ROM back up từ Nandroid

Các ROM có đuôi: .zip, .img, .tar, .APP
13231605811454726872_574_574.jpg


Một số chức năng cơ bản của dsixda's A K:
_Root
_Thêm Busybox
_Deodex
_Zipalign
_Thêm scripts
_Thêm App2sd
_Giải nén Kernel và initrd
_Thay đổi Boot screen
_Task killer tweak (giúp tăng tốc ROM gốc)
_Sign .apk, .zip file
_Unpack-Repack boot.img
_Extract data.img
_Thêm vào Nano, bash
_Hỗ trợ tuỳ chỉnh Android Ice Cream Sandwich v.v.

Mã:
===================================================================
 Android Kitchen - by dsixda (xda-developers.com)
===================================================================

Main Menu

 1. Set up working folder from ROM
 2. Add root permissions
 3. Add BusyBox
 4. Disable boot screen sounds
 5. Add wireless tethering
 6. Zipalign all *.apk files to optimize RAM usage
 7. Change wipe status of ROM
 8. Change name of ROM
 9. Check update-script for errors
10. Show working folder information

Advanced Options

 11 - Deodex files in your ROM
 12 - Add task killer tweak for speed (stock ROM only)
 13 - Add /data/app functionality
 14 - Add Nano text editor + sysro/sysrw
 15 - Add Bash (command shell)
 16 - Add Apps2SD
 17 - Add /etc/init.d scripts support (busybox run-parts)
 18 - Add custom boot animation functionality
 19 - Porting tools (experimental)
 20 - Tools for boot image (unpack/re-pack/etc.)
 21 - Unpack data.img
 22 - Sign APK or ZIP file(s)
 23 - Convert update-script or updater-script
 24 - Miscellaneous optins / Plugin scripts

99. Build ROM from working folder
00. About/Update kitchen
 0. Exit

Dùng dsixda's A K khi nào?
Khi bạn có một chiếc máy Android mới và bạn muốn tạo một ROM tùy chỉnh hoặc bạn muốn học cách tạo ROM tùy chỉnh cho Android
Bạn muốn thay đổi ROM gốc theo ý thích của mình
Bạn muốn viết các script và thêm vài dòng lệnh vào ROM, dsixda'A K sẽ giúp bạn làm nhanh chóng hơn.

Đây không phải một công cụ hoàn chỉnh để bạn phát triển ROM. Việc xây dựng một bản ROM cần nhiều thời gian, kiến thức, trải qua nhiều lần nghiên cứu và thử nghiệm. dsixda' A K chỉ giúp bạn tạo một số tùy chỉnh vào ROM trong một thời gian ngắn.




II- CÀI ĐẶT

Mình sẽ hướng dẫn trên máy tính sử dụng Windows, các bạn dùng Linux hay Mac tham khảo thêm ở đây.
dsixda's A K hoạt động trên Windows như thế nào: Công cụ này chạy trên nền Linux nên cần tạo một máy ảo trên Windows và gõ các dòng lệnh thông qua máy ảo (giống như DOS). Ở đây sử dụng phần mềm Cygwin (cách thứ 2 bạn sử dụng VituralBox để tạo một máy ảo Linux trên Windows,máy tính của bạn phải có bộ nhớ lớn và CPU mạnh).

1. Chuẩn bị.

dsixda's Android Kitchen v0.180: https://github.com/dsixda/Android-Kitchen/archives/master
Java JDK: http://www.mediafire.com/?54y9lay41t8o997
Cywin: http://www.mediafire.com/?5xux4adbam20tfh

2. Cài đặt.

Giải nén các file zip ra Ổ C:\ và tiến hành cài đặt.
- Cài đặt Java JDK trước tiên
- Cài đặt Cygwin, thứ tự các bước như sau:

B1
1323164560625322689_574_574.jpg


B2
13231645611239559216_574_574.jpg


B3
13231645581254203970_574_574.jpg


B4
13231645561503011729_574_574.jpg


B5
13231645551788658119_574_574.jpg

(Chú ý: Chọn All.default)

- Giải nén dsixda's android kitchen, đổi tên thư mục thành "kitchen". Copy tới thư mục C:\cygwin\home\Administrator.

Mở chương trình Cygwin trên desktop.
Gõ lệnh sau
Mã:
cd kitchen <enter>
./menu <enter>


Sau khi cài đặt thành công, mình sẽ hướng dẫn các bạn sử dụng một số chức năng cơ bản ở #17

Nguồn
 
Chỉnh sửa cuối:

batanguyen

New Member
HƯỚNG DẪN MỘT SỐ CHỨC NĂNG CƠ BẢN, HỎI ĐÁP (Q&A)

I- SỬ DỤNG DSIXDA'S ANDROID KITCHEN
Với dsixda's Android Kitchen các bạn có thể tùy chỉnh một bản ROM có sẵn, đó có thể là ROM gốc theo máy, ROM cook hoặc một bản back up Nandroid. Để ROM cần tùy chỉnh vào folder "original_update", cụ thể như sau:

ROM shipped:
Chuẩn bị bản ROM shipped của máy. Các bạn dùng HTC truy cập vào trang chủ HTC để tham khảo, các dòng máy khác có thể tìm ở đây.
ROM shipped có 3 dạng:
ROM ở dạng một file .ZIP - copy ROM vào thư mục C:\cygwin\home\Administrator\kitchen\original_upda te
ROM shipped có chứa "system.img"&"boot.img" ở bên trong - copy hai file này vào thư mục "original_update" như trên.
ROM shipped ở dạng .EXE, các bạn làm như sau: Chạy file .EXE tới cửa sổ cài đặt đầu tiên, Vào Start->Run gõ: %TEMP%, Hiện lên một folder thì tìm file Rom.zip, Sau đó copy file "Rom.zip" vào thư mục "original_update"


ROM cook:
Copy bản rom .zip vào thư mục "original_update".

ROM Nandroid:
Chép 2 file "system.img" và "boot.img" vào thư mục "original_update".

Sau khi vào màn hình làm việc của dsixda's A K các bạn chọn 1 để bắt đầu chỉnh sửa. Những thao tác cơ bản:
Để thêm vào quyền root cho ROM các bạn chọn "Root" ... OK!
Xoá những ứng dụng ko cần thiết vào: C:\cygwin\home\Administrator\kitchen\working_xxx\s ystem\app - Chọn và xoá những file .apk. Bạn cũng có thể thêm một ứng dụng vào ROM bằng cách copy file .apk vào thư mục: /data/app, nếu không muốn bị xoá sau khi format máy thì copy vào thư mục: /system/app.
Tuỳ chỉnh hoàn tất , chọn "Build ROM" - File ROM cook sẽ xuất hiện ở folder "OUTPUT_ZIP".

Bạn đã có một ROM tuỳ chỉnh, dùng Recovery để flash ROM vào máy.

Tham khảo thêm một số chức năng khác:

Main Menu

1. Set up working folder from ROM - Tạo folder "WORKING_xxx".
2. Add root permissions - Thêm quyền Root và ứng dụng SuperUser vào ROM.
3. Add BusyBox - Thêm BusyBox.
4. Disable boot screen sounds - Tắt âm thanh khởi động.
5. Add wireless tethering - Thêm chức năng modem 3G phát qua wifi (Dùng cho android 2.1 trở xuống)
6. Zipalign all *.apk files to optimize RAM usage - Nén các file .apk
7. Change wipe status of ROM - Tuỳ chọn wipe cho ROM
8. Change name of ROM - Chọn tên của rom tạo thành (ví dụ: abc.zip)
9. Check update-script for errors - Kiểm tra lỗi "update-script"
10. Show working folder information - Hiện thông tin của folder "WORKING_xxx"

Advanced Options

11 - Deodex files in your ROM - Thêm Deodex vào ROM
12 - Add task killer tweak for speed (stock ROM only) - Thêm chức năng task killer tweak (dùng cho stock ROM)
13 - Add /data/app functionality - Thêm vào thư mục "/data/app"
14 - Add Nano text editor + sysro/sysrw - Thêm vào Nano
15 - Add Bash (command shell) - Thêm Bash
16 - Add Apps2SD - Thêm vào chức năng APP2SD
17 - Add /etc/init.d scripts support (busybox run-parts) - Thêm "/etc/init.d" dùng cho busybox
18 - Add custom boot animation functionality - Thay đổi màn hình khởi động
19 - Porting tools (experimental) - Port ROM từ máy khác sang
20 - Tools for boot image (unpack/re-pack/etc.) - Công cụ tùy chỉnh boot.img
21 - Unpack data.img - Giải nén các file .img
22 - Sign APK or ZIP file(s) - Sign file .APK hoặc file ROM.ZIP
23 - Convert update-script or updater-script
24 - Miscellaneous optins / Plugin scripts

99. Build ROM from working folder - Tạo ROM từ folder "WORKING_xxx"
00. About/Update kitchen - Thông tin
0. Exit - Thoát chương trình
Việc xào nấu ROM tùy theo ý thích của mỗi người, các bạn có thể tùy chỉnh hoặc thêm/bớt vài ứng dụng, mod các thông số giúp máy hoạt động mượt hơn, thay đổi màn hình khởi động hoặc mod giao diện theo ý thích của mình v.v... Bộ công cụ này sẽ giúp bạn làm việc nhanh hơn, bạn cũng có thể chia sẻ các bản rom cook với cộng đồng. Chúc các bạn vui vẻ !

================================================== ====================

II- MỤC HỎI ĐÁP (Q&A)



Q: Khi gõ ./menu để chạy, thì báo lỗi "Permission denied?
A: Vì bạn chưa đặt quyền cho "menu", từ terminal gõ lệnh 'chmod 777 menu' (hoặc 'chmod +x menu'), sau đó chạy lại ./menu (Các bạn dùng Linux và Mac hay gặp phải lỗi này)
Q: Khi gõ ./menu, báo lỗi "the application 'clear' is not installed" hay "command is not found"?
A: Kiểm tra lại xem đã copy dsixda's A K vào thư mục của Cygwin chưa (C:\cygwin\home\Administrator\kitchen)
Q: Android kitchen yêu cầu phiên bản JDK nào ?
A: Để build ROM bạn cần JDK từ 5.0 trở lên (khuyên dùng JDK 7.0)
Q: Máy HTC của tôi không có trong danh sách các thiết bị được hỗ trợ?
A: Bạn làm như sau:
Trong thư mục 'kitchen/tools/edify_defs' tạo một file có tên máy của bạn.
Tên máy xem trong ROM: system/build.prop dòng "ro.product.device".
Xem hướng dẫn chi tiết ở file _template (mở bằng Notepad++)
Q: DEODEX ROM là gì?
A: Xem những khái niệm sau:
Một tập tin Odex là gì?
Ứng dụng cho các thiết bị Android được gói trong một định dạng mở rộng. Apk. Các ứng dụng này chứa một file .Odex mà có chức năng chính là để tiết kiệm không gian lưu trữ. Những tập tin Odex này được biên dịch để tải trước một phần của một ứng dụng trên khi khởi động để nó có thể tăng tốc độ. Khi một ứng dụng là Odexed , rất khó để hack hay sửa bởi vì một phần của ứng dụng đã được nạp ở một nơi khác.
Deodex là gì?
Khi một ứng dụng là Deodexed , nó cơ bản là đóng gói lại các apk để chúng được lưuvào các tập tin classes.dex. Sau đó, khi ứng dụng này đã được lưu, nó là một apk tất cả trong một và việc sửa đổi sẽ không xung đột với các khu vực khác, nơi các tập tin odexed cư trú.
Hiểu đơn giản rằng, việc de-odex sẽ mở rộng đường để các bạn tùy chỉnh Rom mà hạn chế lỗi phát sinh.

Nguồn

Nguồn gốc của bài post
 
Chỉnh sửa cuối:

batanguyen

New Member
Sau khi đã bung được ROM ra rồi thì phần thêm EQS, icon , % battery, tweak hoặc các mod như beat, camera ....ect thì phải nhờ đến các cao thủ của forum hướng dẫn thôi.
 

batanguyen

New Member
Mod % pin bằng cách chỉnh sửa file framework-res.apk
Download apktool-windows và apktool.jar (chạy trên windows)
Link hướng dẫn decompile file apk
http://forum.xda-developers.com/show....php?t=1601511

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ã:
<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" />
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 ^^

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ỉnh sửa cuối:
Top