| [Obfuscate Application] プロパティ | |
このプロパティが True の場合、アプリケーションはコンパイルプロセスの一環として縮小されます。つまり、使用されていないコードが削除され、残りのメソッドやクラスも省略名で難読化されます。
True に設定した場合、アプリケーションはコンパイルプロセスで難読化されます。
難読化とは、何らかの対象を理解しにくくすることです。多くの場合、プログラミングコードを難読化することによって、知的財産を保護したり、攻撃者による独自ソフトウェアプログラムのリバースエンジニアリングを防止したりします。
コードを難読化すると、リバースエンジニアリングが困難かつコスト的に実現不可能になり、セキュリティ強化につながります。その他の利点としては、ライセンスメカニズムの保護、不正アクセスの防止、実行可能ファイルのサイズの縮小などが挙げられます。
このプロパティを有効にすると、コンパイル時に ProGuard ツールを使用してアプリケーションが難読化されます。使用されていないクラス、フィールド、メソッド、項目属性が検出されて削除されます。また、バイトコードが最適化され、使用されていない命令が削除されます。残りのクラス、フィールド、メソッドについては、名前が意味のない省略名に変更されます。
- GeneXus では、<Models><ナレッジベース名>/<ジェネレーター名>/mobile/Andorid/<メイン>/build/outputs/mapping/* ディレクトリーにマッピングファイルが生成されます。アプリケーションを配布する際には、このファイルを維持して難読化を解除できるようにすることを強くお勧めします (クラッシュエラーの発生時にスタックトレースを確認できるようにする目的などで、Google Play ストアにアップロードすることもできます)。
- このプロパティの値を変更した際には、Android のメインオブジェクトを必ず再コンパイルしてください。
このプロパティは、GeneXus 15 Upgrade 3 以降で利用できます。
このプロパティの変更を適用するには、メインオブジェクトをビルドします。
オブジェクト: スマート デバイス オブジェクト ( [ Main program ] プロパティ= True の場合) 対応しているプラットフォーム: スマートデバイス (Android)
|
|
|
|
|