Zoho Appticsを使用したデオブファスケーション

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 ファイルに追加してください。
  1. -keep クラス com.Zoho.zanalytics.**
  2. -dontwarn com.Zoho.zanalytics.**
Info
SDK の実装方法については Android 用 Crashes SDK ガイド をご参照ください。

ProGuard ファイルを手動で追加する

  1. Developer >Symbols & Mapping に移動します。ドロップダウンメニューからアップロードしたい ProGuard Mapping ファイルとパッケージ名を選択します。
  2. アップロードをクリックすると、ポップアップが表示されます。

  1. 該当するアプリのバージョンとビルドバージョンをドロップダウンから選択します。
  2. ファイルを選択をクリックし、該当する .txt ファイルを選択します。
  3. アップロードをクリックすると、ProGuard Mapping ファイルがコンソールに一覧表示されます。