まあ、実際に-そしてやり始めました...
矛盾する情報
Webで見つかった情報によると、Androidのタイムゾーンファイルは次のとおりです。
- /etc/timezones.db-上記の記事で述べたとおり。
- /etc/WPDB.zip-いくつかのフォーラムにあります。
- / system / usr / share / zoneinfo /-再び、フォーラムにあります。
彼は、adb、遠く、そして他の必要なものを手に入れて、ミニスタディに取り組むようになりました。 結果:
- /etc/timezones.db-いいえ。 タイムゾーンではありません。 ゾーンのIDと異なる言語のタイムゾーン名(タイムゾーンテーブル)の対応と1つの量のメタデータ(android_metadataテーブル)を含むSQLite形式のファイル。
- /etc/WPDB.zip-タイムゾーン。 それだけではありません。 アーカイブ内には、「WP_0419RUS.db」という名前の22個のファイルがあります。 ファイルはすべて同じSQLiteです。 ファイルには3つのテーブルが含まれており、各テーブルには、国名、都市名、UTCからのオフセット(分)が含まれていますが、冬/夏時間に関する情報はありません。
- / system / usr / share / zoneinfo /は必要なものです。 ディレクトリには、zoneinfo.dat、zoneinfo.idx、zoneinfo.versionの3つのファイルがあります。 しかし、どこで入手できますか?..
ツール
簡単に言うと、「木にマントを広げて広げる」ことは誰にとっても興味深いことではないからです。
- zoneinfo.datのタイトルは予想通りでした:TZif2。 それはファイルでちょうど満たされている、それは非常に一般的です。
- zoneinfo.idxは、データベースがあることを示唆しました-ちょうどそれを組み立てる方法? シリーズのばかげた考えが私の頭の中でちらつき始めました。「フォーマットに対処し、「コレクター」と書いてください。FreeBSDのホームサーバーからのタイムゾーンの必要なファイルをベースにしています。
最終的に、すべてがはるかにシンプルになりました。 30分間の永続的な検索の後、特定のディレクトリセットと生成された出力に対してzicを呼び出すシェルスクリプトや、zoneinfo.datとzoneinfoを実際に作成するためのJavaソースを含む、Android用の開発ツールセットを含むリンクが見つかりました.idx。
スクリプトを設定するタイムゾーンのデータを含むアーカイブは、 ここで見つかりました 。
結果
その結果、Androidのタイムゾーンの実際のファイルを取得しますが、それらをデバイスにアップロードする必要があります。 残念ながら、電話へのルートアクセス権を持たないユーザーは、更新プログラムの影響を受けません。
2つのアップグレードオプションがあります。
- ADB(Android Debug Bridge、Android SDKの一部)経由;
- カスタム回復により、SDカードのルートからZIPファイルをインストールできます( CWM-AlphaRev Recoveryがインストールされています)
ADB経由で更新
私は、adbの基本的な知識、それが何であるか、それをどのように使用するか、どこで入手するかを知っていると思います。 そうでない場合は、外出先で最初に見つかったリンクがここにあります。
- 新しいタイムゾーンでアーカイブをダウンロードします。
- アーカイブをもっと便利な場所に解凍してください。 たとえば、c:\ Temp \ tz \;
- adbシェルを実行し、/ dev / block / mtdblock3セクションが/ systemにマウントされていることを確認します。
# mount|grep system
mount|grep system
/dev/block/mtdblock3 /system yaffs2 ro,relatime 0 0
- / systemパーティションをRWモードでマウントします(mtdblock3が/ systemにマウントされていない場合、値を独自のものに置き換えます)。
su
mount -rw -o remount /dev/block/mtdblock3 /system
exit
- 新しいタイムゾーンファイルをデバイスにアップロードします。
adb push c:\Temp\tz\zoneinfo.version /system/usr/share/zoneinfo/zoneinfo.version
adb push c:\Temp\tz\zoneinfo.dat /system/usr/share/zoneinfo/zoneinfo.dat
adb push c:\Temp\tz\zoneinfo.idx /system/usr/share/zoneinfo/zoneinfo.idx
- デバイスを再起動します。
例としてCWM-AlphaRev Recoveryを使用したカスタムリカバリによる更新
説明はHTC Desire A8181に適用されます。 他のモデルの携帯電話では、復旧を開始するプロセスがわずかに異なる場合があります。
- タイムゾーンを更新してアーカイブをダウンロードします 。
- ファイルをデバイスのSDカードのルートに配置します。
- リカバリーに入ります:電話がオフになったら(Android 2.3.xの電話の所有者-デバイスをオフにする前に、メニュー項目設定-アプリケーション-クイックダウンロードが無効になっていることを確認してください!)「音量を下げる」ボタンを押したまま、電源ボタンを押します。
- 表示されるメニューで、音量キーを使用して[ リカバリ ]メニュー項目を選択し、電源ボタンで選択を確認します。 電話は回復モードで起動します。
- メニュー項目を順番に選択します(確認-光学式ジョイスティックを押します):
-install zip from sdcard
-choose zip from sdcard
- zip
- ファイルシステムのナビゲーションが表示されます。 ここにアップロードしたtimezone2011i.zipファイルを選択します。
- 選択したファイルをインストールすることを確認します。
- インストールプロセスが完了したら、戻るボタンを使用して2つ上のレベルに移動し、再起動メニュー項目を選択します。 電話機は通常モードで再起動し、アップデートがインストールされます。
おそらくそれだけです。 コメント、修正、追加を歓迎します。