
一般的に、私は自分用にNookリーダーを購入し、数週間読んで読んだ後、そのために何かを書きたいと思っていましたが、このイニシアチブは、nilov habrayuzerと、noesdevs.orgのさまざまな人々(JesusFrekeを含む)そしてプーティン。
言い訳
- 個人的に、私はLinuxの下ですべてをしましたが、Windows(およびスクリプトの最初のバージョンはそれのために書かれました)またはケシの下で(私には思える)できないことは何もありません。
- 私はスクリプトを書くのが初めてなので、誰かがそれらをクリーンアップするか、修正してくれたら嬉しいです。
- そして、はい、私はあなたがあなたのフックで何をするかに責任を負いません。
- 一部では、この記事は、私たちにも参加したい人のためのガイドになります。
必要なソフトウェア
- ツールキットの最新バージョン
- 1.5用のダウンロードされたパッケージを含む最新のAndroid SDK
- テキストエディター
- Linux
すべてのユーティリティとそのファームウェアのアセンブリの説明
注意:たくさんお願いします-何千ものファームウェアオプションを作成しないでください! すべてを集中的にやってみましょう!
デバイスからアプリケーションを直接取得する:ダウンロード/すべてダウンロードユーティリティ
これらのユーティリティを使用すると、nukからダウンロードしたフォルダーにアプリケーションをダウンロードし、抽出したフォルダーに完全に解凍することができます(ソースリソースとコードを取得するために必要です)。
最初のものは入力でシステムアプリケーションの名前を取得し、2番目のものは何も取得せず、rus_res / indexで指定されたすべてのアプリケーションをダウンロードします
これらは非常に単純に見えます-これはadbおよびapktoolユーティリティの順次実行です:
adb pull /system/app/$1.apk downloaded/$1.apk
java -jar apktool.jar d -f downloaded/$1.apk extracted/$1/
すべてダウンロードを実行した後、必要なすべてのリソースを取得し、リソースの変更と交換を進めることができます。
アプリケーション修正
いくつかの困難があります。 リソースは簡単に変更できますが、コードは変更できません。明らかにdalvikマシンのキャッシュなどが原因です。
資源
ここでは、リソースを置き換えるのに複雑なことはありません-ダウンロードフォルダーから一時フォルダーwork /%appname%に解凍し、そこにあるファイルを置き換えてパックし、adb push(adbインストールではなく)を実行して、アプリケーションをデバイスにダウンロードします。 この方法は、新しいデザインのデバッグ、読者のフォントやcss-okのデバッグに非常に便利です。この方法によって簡略化されたフォントを選択するときにmynook.ruの友人を使用しました。 =)
コード
ここのすべてはリソースの場合とまったく同じですが、1つあります。 デバイスにアプリケーションを配置することはできません。 新しいアプリケーションを開こうとすると、nukがハングするだけで、通常のadbインストールは機能しません。 システムアプリケーションを変更しています。 解決策は何ですか? 解決策は、コードが変更されたファームウェアを直接収集し、デバイスに配置して、その動作を確認することです。 はい、難しいですが、とにかく根本的な変更は必要ありません。
変更用のスクリプト:process / process-all
完全なプロセスコード
ここで、何をどこでコピーして実行するかを簡単に説明します(すべてのファイルはrus_res /%appname%/から取得されます)
- ホームおよびライブラリの場合、コードの逆コンパイルで解凍し、残りの部分-リソースのみ- ここで、他のアプリケーションでコードを変更する場合は編集する必要があります
- strings.xm->値/ strings.xml
- styles.xm->値/ styles.xml
- strings.xm-> values /arrays.xml
- colors.xm->値/ colors.xml
- 値/ *->値/ *
- xml / *-> xml / *
- 資産/ *->資産/ *
- スクリプトを実行します
- レイアウト/ *-> res / layout / *
- ドロウアブル/ *-> res /ドロウアブル/ *
- パック
- キーで署名します。
ほとんどのテキストのロシア語化:sashaフォルダーとcopy-sashaスクリプト
sashaフォルダー(mynookを使用したデザイナーの名前です。ちなみに、ありがとうございました。彼がいなければ、少なくとも=は熱意はないでしょう)。
デバイスへのアップロード:アップロード/すべてアップロード
これは、リソースが変更され、元のコードが使用されているアプリケーション専用であることを思い出してください。
コードも非常に簡単です。
adb push %appname%.apk /system/app/%appname%.apk
ファームウェアの作成:ビルドファームウェア
ここでも、すべてが非常に簡単です=)標準のソフトウェアファームウェアを使用して変更します。
nookdevs.com IRCチャンネルでは、画像のパック/アンパック用の特別な(複雑ではない)スクリプトが提供され、それも使用します。
このすべての助けを借りて、ファームウェアを作成するプロセス全体をできるだけ単純化できます:展開、変更、梱包。
現時点でのファームウェアの変更点をリストします。
- 必要なシステムアプリケーションを出力フォルダーのRussifiedアプリケーションに置き換えます(プロセススクリプトの前の手順で取得)。
- init.rcのコピー-FBReaderに必要
- アプリケーションをコピーします-nookdevs.comからアプリケーションマネージャーと修正されたwifiロッカー
- FBReaderとそれに関連付けられたハックをコピーします。たとえば、SUIDを使用したsqlite3rootをコピーし、sqlite3rootの権限を支配するブートスクリプトを置き換え、freebriderのネイティブライブラリをコピーします。
- Russified UIフォントをコピーします。
- 壁紙をコピー=)
これでファームウェアが完成し、ルート化されたNukaで実行できます!
PS:
そこで、いくつかのフォルダを手動で作成する必要があるかもしれませんが、どこでスクリプトをセットアップしたか覚えていません。