お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の
英語版を参照してください。
概要
コードの難読化とは、すべてのクラスとそのメソッド名を、正常な動作を維持しながらリバースエンジニアリングが困難になるように変更する処理です。ProGuard(およびその後継のR8)は、Android向けの標準Javaコード最適化・難読化ツールです。コンパイル時に処理を実行し、Androidアプリの動作を90%高速化し、サイズを20%削減するのに役立ちます。
開発環境にAndroid Studioを使用している場合、インスタント実行ではマッピングファイルは生成されません。マッピングファイルを生成するには、[APKをビルド]オプションを選択する必要があります。ビルドが完了すると、ビルドプロセスの開始方法に応じて、mapping.txtというシンボルファイルが<module-name>/build/outputs/mapping/release/または<module-name>/build/outputs/mapping/debug/,に生成されます。
クラッシュレポートの難読化解除
コードの難読化はコードの最適化に役立ちますが、デバッグが難しくなる場合もあります。難読化により、クラッシュや問題の診断に必要なクラス名、メソッド名、シンボルファイル、デバッグ情報の一部が失われます。mapping.txtファイルを使用して、元のスタックトレースや、アプリのコード内のクラスとメソッドの名前を復元する処理を、難読化解除と呼びます。
Zoho Appticsでは、Androidアプリの各ビルドのマッピングファイルをアップロードして管理できます。
ProGuardのルール
ProGuardを使用してクラスを難読化すると、Appticsプラグインによってマッピングファイルが自動的にアップロードされます。ProGuardファイルにルールを追加することで、アプリのコードを難読化する方法を変更できます。proguard-rules.proファイルに次のルールを追加します。
- -keep class com.zoho.zanalytics.**
- -dontwarn com.zoho.zanalytics.**
ProGuardファイルの手動追加
- [開発者]→[シンボルとマッピング]に移動します。ドロップダウンメニューから、アップロードするProGuardのマッピングファイルとパッケージ名を選択します。
- [アップロード]をクリックすると、ポップアップが表示されます。
- ドロップダウンから、該当するアプリのバージョンとビルドのバージョンを選択します。
- [ファイルを選択]をクリックし、該当する.txtファイルを選択します。
- [アップロード]をクリックすると、ProGuardのマッピングファイルがコンソールに表示されます。