1. Fix vấn đề về SMS đối với những máy Hàn Quốc:
- Cần biết:
- Những điện thoại Hàn Quốc thường hay gặp vấn đề về độ dài tin nhắn khi sử dụng ở các nước khác, đó ko phải là lỗi, mà đó là điểm đặc trưng của Hàn Quốc. Các ký tự của Hàn Quốc không thử sử dụng bản mã Unicode (7 bit) để mã hóa mà phải dùng mã hóa riêng dùng đến 16bit nên số lượng ký tự thường <=90 ký tự.
- Do ở Hàn Quốc thì công nghệ điện thoại rất phát triển, nên hầu như mọi người đều dùng Smart Phone, do vậy nếu tin nhắn >1 tin SMS thì họ chuyển sang tin MMS thì mức cước sẽ rẻ hơn so với nhiều tin SMS. Vậy nên các máy HTC thường thì sau 1 tin SMS sẽ tự động chuyển sang MMS.
- Code xử lý cho Tin nhắn đều nằm ở\smali\android\telephony và\smali\com\android\internal\telephony (Đối với những máy chỉ có 1 file Framework thì 2 file kia cùng nằm trong file Framework.jar, còn nếu có 2 file thì File thứ nhất sẽ nằm trong Framework.jar, file còn lại nằm trong Framework2.jar)
- Các thiết lập khác cho SMS và MMS nằm trong file\system\customize\MNS\default.xml nằm trong file Rom .zip.
- Fix số lượng tin SMS tự động chuyển sang MMS.
- ROM của HTC được làm rất chặt chẽ, hầu như những thứ cần thiết đều có thể config đc, SMS và MMS cũng ko phải là ngoại lệ, hầu hết những config cần thiết cho SMS, MMS đều nằm trong file \system\customize\MNS\default.xml mà mình đã nói ở trên, các bạn chỉ cần giản nén ROM ra và tìm theo đường dẫn đó sẽ thấy.
- Trong file default.xml thì config cho SMS, và MMS nằm trong Note
. Các bạn để ý note này sẽ thấy đc các thiết lập cần thiết. - Các bạn tìm đến Item có tênSMS_Max_Concatenated_Number sẽ thấy hầu hết những máy HTC Hàn Quốc đều có giá trị mặc định là 1, đây là số lượng tin SMS tối đa sẽ tự động chuyển sang MMS, vấn đề là ở đây, các bạn muốn sau bao nhiêu tin SMS nó chuyển sang MMS thì chỉ cần sửa giá trị này :). Mình thường dùng giá trị là 10.
- Oke, bây giờ bạn có thể đưa file đó trở lại rom hoặc dùng Rootexplorer để đưa trực tiếp vào thư mục system trên điện thoại.
- Tuy nhiên, file này chỉ đc load 1 lần duy nhất đó là lần đầu tiên boot vào hệ thống. Do đó để chỉnh sửa có hiệu lực thì bạn phải cho vào rom rồi cài mới hoặc là copy vào thư mục hệ thống của máy rồi Factory Reset lại điện thoại để nó thiết lập lại.
- Ngoài ra trong phần này ta có thể chỉnh sửa nhiều thiết lập cho SMS
và MMS như bật tắt các thông báo, thay đổi dung lượng file tối đa của
tin MMS, số lượng tin nhắn tối đa... các bạn có thể xem thêm trong file
default để biết thêm chi tiết.
View attachment 634827
- Fix độ dài tin nhắn SMS.
- Để fix tin nhắn cho máy HTC có rất nhiều cách, 1 trong những cách đơn giản nhất đó chỉnh là đánh lừa hệ thống đổi Flag của máy sang 1 máy khác ko bị giới hạn tin nhắn, tuy nhiên cách này cũng có hạn chế, như mình đã nói từ đầu, mỗi máy HTC đc phân biệt với nhau bởi các flag, do đó nếu đổi Flag sang máy khác thì tất cả các thiết lập khác đều phải theo máy đó, do vậy cần phải tìm 1 máy có các tính năng tương ứng với máy mình mà ko bị giới hạn tin nhắn để chuyển sang, đối với EVO 4G+ thì hơi khó vì duy nhất nó có mạng 4G của Wibro :D, cho nên muốn giữ đc tính năng này thì cần phải làm cách khác hoặc tìm các biến Flag điều khiển mạng 4G. Cách đổi Flag này cũng khá đơn giản nên mình sẽ ko hướng dẫn cụ thể ở đây, các bạn tìm hiểu phần Port ROM sẽ đc đề cập tới rất nhiều. Dưới đây là cách Fix ở các hàm điều khiển tin nhắn :)
- Trước tiên để fix đc độ dài tin nhắn thì bạn phải lấy những file liên quan từ trong ROM để chỉnh sửa. Với bản GB thì mình thấy chỉ có 1 file Framework.jar nên chỉ cần chỉnh file này, còn trên ROM ICS thường có 1 file Framework.jar và 1 fileFramework2.jar, bạn phải chỉnh sửa cả 2 file này thì mới fix được.
- Sử dụng APK Tools mình đã đưa ở trên để Decode các file framework. Chạy file Command Prompt.bat để mở cửa sổ lệnh tại thư mục hiện tại hoặc những bạn biết chút ít về CMD có thể mở trực tiếp CMD lên để làm việc.
- Để Decode file .Jar hoặc .Apk các bạn thực hiện lệnhApktool d Tên file.đuôi. Ở đây các bạn dùng lệnh Apktool d framework.jar và Apktool d framework2.jar đối với ROM có 2 file framework.
- Sau khi Decode 2 file trên ta được 2 thư mục đó làframework.jar.out và framework2.jar.out chứa các mã Smali.
- Những bạn chưa nắm rõ về mã Smali thì có thể chuyển sang code Java
để dễ theo dõi và nắm bắt thuật toán của họ theo cách thức sau:
- Mở các file Framework.jar bằng Winrar hoặc 7Zip để lấy file classes.dex, sau đó dùng tool Dex2jar mình đã đưa ở trên để chuyển sang Java bằng cách:
- Copy file classes.dex vào thư mục chứa tool Dex2jar, có thể đổi tên nếu làm cùng lúc nhiều file.
- Mở cửa sổ lệnh tại đây và chạy lệnh Dex2jar Tên file.đuôi, ở đây là dex2jar classes.dex.
- Sau khi chạy xong lệnh bạn sẽ có đc file classes-dex2jar.jar.
- Để đọc file Java này bạn sử dụng tool JD-Gui mình đã post ở trên rồi Open tới file classes-dex2jar.jar vừa chuyển đổi đc.
- Cấu trúc file này cũng giống với thư mục Smali mình đã Decode ở trên nhưng bằng ngôn ngữ Java nên dễ đọc hơn, có điều nó chỉ đọc ko thể sửa trực tiếp đc :D.
- Các bạn mở 2 file\smali\android\telephony\SmsManager.smali và\smali\com\android\internal\telephony\gsm\SmsMessage.smali và đối chiếu với file Java sẽ thấy, một số đoạn HTC sẽ kiểm tra theo Htc_PROJECT_flag để xác định độ dài SMS và phương thức mã hóa tin nhắn. vd như đoạn sau:
Mã:sget-short v5, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v6, 0x50 if-ne v5, v6, :cond_1f - Ở đây nó sẽ kiểm tra xem nếu Htc_PROJECT_flag = 0x50 (Hex) tức là bằng 80 dạng thập phân thì sẽ nhảy sang xử lý đoạn cond_1f. Tương tự với một số hàm khác cũng đều có fix cứng với một số Htc_PROJECT_flag. Để fix chỗ này cũng rất đơn giản, các bạn chỉ cần thay đổi những đoạn kiểm tra đó sang một mã Flag khác hoặc xóa đi là được, ở đây mình đẩy tất cả các đoạn kiểm tra với số 0x50 (Máy HTC EVO 4G+) lên 0x51. Lưu ý là các bạn nên đối chiếu với code java để chỉnh sửa chính xác hơn nhé.
- Như vậy Flag = 0x50 sẽ ko rơi vào trường hợp đặc biệt nữa, thay vào đó là Flag = 0x51.
- Oke giờ ta tiến hành Encode lại thành file Framework.jarvà Framework2.jar.
- Ở trong thư mục Apktool ta mở cửa sổ lệnh lên và đánh lệnhApktool b Tên thư mục Ở đây là Apktool b framework.jar.out và Apktool b framework2.jar.out. Sau khi hoàn thành ta vào các thư mục đó sẽ thấy file\build\apk\classes.dex
- Mở file Framework gốc bằng Winrar hoặc 7Zip rồi kéo thả fileclasses.dex vừa nhận đc thay thế file gốc trong Framework là đc.
- Lưu ý là cũng sẽ có 1 thư mục \dist\framework.jar có thể chạy đc nhưng nó không ổn định, ta phải làm theo cách trên thì mới ổn định.
- Như vậy ta đã đc 2 file Framework fix SMS, bạn có thể thay thế 2 file đó vào ROM ban đầu hoặc tạo file Patch để update 2 file này lên điện thoại. (Cách tạo file patch thì sẽ liên quan nhiều đến Update Script, để nói về script này cũng mất rất nhiều thời gian nên lúc nào có điều kiện mình sẽ nói thêm)
- Các bạn có thể tham khảo 2 file mình đã chỉnh sửa cho EVO 4G+ nếu gặp khó khăn: Vui lòng Đăng Nhập hoặc Đăng Ký để nhìn thấy link vàVui lòng Đăng Nhập hoặc Đăng Ký để nhìn thấy link, chỉ cần giải nén ra rồi copy đè, sau đó Encode lại là oke.
- Ngôn ngữ và màn hình khởi động
- file\system\customize\CID\default.xml
- Để thêm ngôn ngữ mới chỉ cần chỉnh sửa Module
- Trớc tiên phải thêm mã location vào trong
- .
Dưới đây là Danh sách của hầu hết các Location mà Rom Android hỗ trợ -
Mã:
- ar_AR;ar_BH;ar_DZ;ar_JO;ar_KW;ar_LB;ar_LY;ar_MA;ar_OM;ar_QA;ar_TN;bg_BG;bg_BY;bg_CS;bg_CZ;bg_EE;bg_HR;bg_HU;bg_LT;bg_LV;bg_PL;bg_RO;bg_SI;bg_SK;bg_UA;cs_BG;cs_BY;cs_CS;cs_CZ;cs_EE;cs_HR;cs_HU;cs_LT;cs_LV;cs_PL;cs_RO;cs_SI;cs_SK;cs_UA;da_DK;da_FI;da_NO;da_SE;de_AO;de_AT;de_CH;de_DE;de_ES;de_FR;de_GB;de_IE;de_IT;de_KE;de_LU;de_MZ;de_NA;de_NG;de_NL;de_PT;de_ZA;el_GR;en_AE;en_AM;en_AO;en_AT;en_AU;en_AZ;en_BG;en_BH;en_BY;en_CH;en_CS;en_CZ;en_DE;en_DK;en_DZ;en_EE;en_EG;en_ES;en_FI;en_FR;en_GB;en_GE;en_GR;en_HR;en_HU;en_ID;en_IE;en_IN;en_IQ;en_IT;en_JO;en_KE;en_KW;en_KZ;en_LB;en_LT;en_LU;en_LV;en_LY;en_MA;en_MY;en_MZ;en_NA;en_NG;en_NL;en_NO;en_OM;en_PH;en_PK;en_PL;en_PT;en_QA;en_RO;en_RU;en_SA;en_SE;en_SG;en_SI;en_SK;en_TH;en_TN;en_UA;en_US;en_VN;en_ZA;es_ES;es_FR;es_GB;es_IE;es_IT;es_PT;es_US;fi_DK;fi_FI;fi_NO;fi_SE;fr_AE;fr_AO;fr_AT;fr_BH;fr_CH;fr_DE;fr_DZ;fr_EG;fr_ES;fr_FR;fr_GB;fr_IE;fr_IQ;fr_IT;fr_JO;fr_KE;fr_KW;fr_LB;fr_LU;fr_LY;fr_MA;fr_MZ;fr_NA;fr_NG;fr_NL;fr_OM;fr_PT;fr_QA;fr_SA;fr_TN;fr_US;fr_ZA;hi_IN;hr_BG;hr_BY;hr_CS;hr_CZ;hr_EE;hr_HR;hr_HU;hr_LT;hr_LV;hr_PL;hr_RO;hr_SI;hr_SK;hr_UA;hu_BG;hu_BY;hu_CS;hu_CZ;hu_EE;hu_HR;hu_HU;hu_LT;hu_LV;hu_PL;hu_RO;hu_SI;hu_SK;hu_UA;it_AT;it_CH;it_DE;it_FR;it_GB;it_IE;it_IT;iw_IW;ja_JP;ko_KR;nb_DK;nb_FI;nb_NO;nb_SE;nl_FR;nl_LU;nl_NL;pl_BG;pl_BY;pl_CS;pl_CZ;pl_EE;pl_GB;pl_HR;pl_HU;pl_IE;pl_LT;pl_LV;pl_PL;pl_RO;pl_SI;pl_SK;pl_UA;pt_AO;pt_BR;pt_ES;pt_FR;pt_KE;pt_MZ;pt_NA;pt_NG;pt_PT;pt_ZA;ro_BG;ro_BY;ro_CS;ro_CZ;ro_EE;ro_HR;ro_HU;ro_LT;ro_LV;ro_PL;ro_RO;ro_SI;ro_SK;ro_UA;ru_AM;ru_AZ;ru_BG;ru_BY;ru_CS;ru_CZ;ru_EE;ru_GE;ru_HR;ru_HU;ru_KZ;ru_LT;ru_LV;ru_PL;ru_RO;ru_RU;ru_SI;ru_SK;ru_UA;sk_BG;sk_BY;sk_CS;sk_CZ;sk_EE;sk_HR;sk_HU;sk_LT;sk_LV;sk_PL;sk_RO;sk_SI;sk_SK;sk_UA;sl_BG;sl_BY;sl_CS;sl_CZ;sl_EE;sl_HR;sl_HU;sl_LT;sl_LV;sl_PL;sl_RO;sl_SI;sl_SK;sl_UA;sr_BG;sr_BY;sr_CS;sr_CZ;sr_EE;sr_HR;sr_HU;sr_LT;sr_LV;sr_PL;sr_RO;sr_SI;sr_SK;sr_UA;sv_DK;sv_FI;sv_NO;sv_SE;th_TH;tr_AT;tr_CH;tr_DE;tr_TR;vi_VN;zh_CN;zh_HK;zh_TW;
- Tiếp theo là thiết lập cho phép sử dụng đến từng Location, VD với tiếng Việt
-
Mã:
- yes
- Cuối cùng là ngôn ngữ mặc định của hệ thống đc thiết lập tại file \system\customize\MNS\Default.xml
Mã:- false
- vi_VN
- Trớc tiên phải thêm mã location vào trong
- Tương tự đối với Logo khởi động và Logo tắt máy
- Trước tiên bạn cần tìm trên mạng hoặc tự tạo cho mình file Logo khởi động dạng .Zip với độ phân giải hình ảnh phù hợp với độ phân giải màn hình máy của mình.
- Các bạn để ý mấy dòng dưới đây:
Mã: chính là thiết lập đường dẫn tới file Logo khởi động, còn là đường dẫn tới file Logo tắt máy, thường thì 2 file này được HTC đạt trong thư mục /system/customize/resource/ Các bạn có thể cho thêm tùy chọn fps để xác định số hình chuyển động trong 1 giây, hoặc có thể sử dụng fps mặc định trong file .Zip
Lọc tại tinhte.vn
Không có nhận xét nào:
Đăng nhận xét