7

My android アプリケーションでは、プロパティ ファイルに小さな変更を加えるだけで済みます。

例えば:

私のプロパティ ファイルには、特定のクライアントに対するウェルカム メッセージがあります。したがって、アプリケーションでクライアント名のみを変更する必要があります。

しかし、問題は、ソースでそれを行う必要があり、すべてのクライアントに対して毎回ビルドする必要があることです。

ビルドを何度も作成せずに.apkファイルで直接変更する方法はありますか?

4

3 に答える 3

10

これを行うには、パッケージ化された APK を解凍し、変更する文字列を見つける必要があります。文字列はエンコードされているか、バイトコード (Java 文字列) またはバイナリ形式 (XML 文字列) に変換されている可能性があります。これが行われたかどうか、および新しい文字列がどのように見えるかを把握する必要があります。次に、置き換えたい文字列を取得し、同じ方法でエンコードしてから、それらを交換する必要があります。

これらすべてを完了したら、アプリを再圧縮し、署名ツールを実行して、zip を手動で調整してから、apk 形式で再度使用できるようにする必要があります。

率直に言って、これを行うには、アプリを再コンパイルするよりも時間がかかります。

于 2012-12-17T07:48:33.580 に答える
1

ソースコードを所有しているため、APK を解凍して再構築するのは時間の無駄のようです。この問題は、元のビルド プロセスで解決する必要があります。

Eclipse を使用して APK パッケージを手動でビルドする場合は、自動ビルド システム (Ant、Maven など) の設定を検討し、クライアント名をパラメーターとしてビルド スクリプトに指定する必要があります。

すでに Ant または Maven を使用している場合、これらのツールには、コンパイル前にテキスト ファイル内のタグをプロパティ値に置き換えるメソッドが既に用意されています。より正確な回答ができるように、ビルド環境について詳しく教えてください。

于 2012-12-17T11:16:18.547 に答える
0

Android APK ツールを使用します。

説明を引用すると

これは、サードパーティ製のクローズド バイナリ Android アプリをリバース エンジニアリングするためのツールです。リソースをほぼ元の形式にデコードし、いくつかの変更を加えた後に再構築できます。

于 2012-12-17T07:47:20.130 に答える