Zoho Appticsを使用したデオブファスケーション
お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の
英語版を参照してください。
概要
コードの難読化とは、すべてのクラスやメソッド名をリバースエンジニアリングしにくい形にリネームしながら、正しく動作するようにするプロセスです。ProGuard(その後継であるR8)は、Android の初期設定 Java コード最適化・難読化ツールであり、コンパイル時のタスクを実行し、Androidアプリケーションを最大90%高速化し、サイズを20%削減します。
Android Studio で開発している場合、Instant Run ではマッピングファイルは生成されません。マッピングファイルを生成するには、作成 APK オプションを選択してください。作成が完了した後、記号ファイル mapping.txt は、作成プロセスの開始方法に応じて、<タブ-名前>/作成/outputs/mapping/release/ または <タブ-名前>/作成/outputs/mapping/debug/ に保存されます。
クラッシュレポートの難読化解除
難読化されたコードは、コード最適化には有用ですが、デバッグ時には課題となる場合があります。難読化時に、一部のクラス名やメソッド名、記号ファイル、クラッシュや問題の診断に必須なデバッグ情報が失われます。mapping.txt ファイルを利用してアプリのコード内の元のスタックトレースやクラス・メソッド名を復元するプロセスが、難読化解除(デオブファスケーション)です。
Zoho Apptics では、Androidアプリのビルドごとにマッピングファイルをアップロード・管理できます。
Proguard ルール
ProGuard を使用してクラスを難読化する場合、Apptics プラグインは自動的にマッピングファイルをアップロードします。ProGuard ファイルにルールを追加することで、アプリのコード難読化の方法をカスタマイズできます。以下のルールを proguard-rules.pro ファイルに追加してください。
- -keep クラス com.Zoho.zanalytics.**
- -dontwarn com.Zoho.zanalytics.**
ProGuard ファイルを手動で追加する
- Developer >Symbols & Mapping に移動します。ドロップダウンメニューからアップロードしたい ProGuard Mapping ファイルとパッケージ名を選択します。
- アップロードをクリックすると、ポップアップが表示されます。
- 該当するアプリのバージョンとビルドバージョンをドロップダウンから選択します。
- ファイルを選択をクリックし、該当する .txt ファイルを選択します。
- アップロードをクリックすると、ProGuard Mapping ファイルがコンソールに一覧表示されます。