Input(入力)- 標準モード -
Input セクションは、PreEmptive Protection™ DashO™ for Android & Java プロジェクトへの入力を構成するために使用されます。
Input — Jars and Classes
Input セクションは Input — Jars and Classes から始まります。ここには、処理するクラスの場所が設定されます。 DashO はクラスパス内のクラス、zip ファイル、および jar ファイルのディレクトリを処理することができます。 また、単一の APK ファイルもサポートしています。 エントリは、[Add]ボタンを使用してファイル システムからそれらを選択することによって追加できます。 [New]ボタンを使ってエントリを作成し、名前を編集することもできます。
メモ: エントリを追加または削除すると、クラス ツリーは自動的に更新されます。 ただし、手動で名前を入力した場合は自動的に更新されません。 名前の編集が終わったら、更新ボタンを使用してください。
入力エントリの作成の詳細については、<inputpath> 要素を参照してください。
Input — Supporting Classpath
DashO は、Java または Android ランタイムのクラスと、サード パーティの jar ファイルまたはモジュール内のクラスにアクセスする必要があります。 ここで参照されるクラスは、DashO の分析に必要なだけで処理されません。 エントリは、[Add]ボタンを使用してファイル システムからそれらを選択することによって追加できます。 [New]ボタンを使ってエントリを作成し、名前を編集することもできます。
メモ:
構成されているサポート エントリを見つけられないときに、エラーではなく DashO で警告を出すようにする場合は、WARN_ON_MISSING_SUPPORT_ENTRY
というユーザー プロパティを追加し、それにtrue
を設定します。
Include JDK(JDK の導入)
有効な場合、DashO はサポートとして指定した JDK ホーム ディレクトリによって提供される、すべてのブートストラップ クラスおよび拡張クラスを導入します。
Android API または J2ME を使用するプロジェクトでは、JDK を導入しないでください。
このようなプロジェクトは、これら特定の環境用のランタイム jar ファイル、たとえば Android.jar
や midpapi10.jar
を必要とします。
JDK ホーム ディレクトリの既定値 ${JDK_HOME:-}
は、環境変数 JDK_HOME
によって解決されます。
この環境変数が設定されていない場合は、ユーザー プロパティJDK_HOME
を設定することができます。
また、プロパティを使用する代わりに、JDK の場所(例:C:\Program Files\AdoptOpenJDK\jdk-11.x.y
や /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
)を参照することもできます。
メモ:
導入された JDK は、jarsigner など他のプログラムを検索、実行する場合にも使用されます。
Set JDK_HOME and JAVA_HOME properties(JDK_HOME および JAVA_HOME プロパティの設定)
Include JDK(JDK の導入)が有効になっている場合に、JDK_HOME
および JAVA_HOME
プロパティに指定された JDK 値を設定します。
新しいクラスパス エントリの作成の詳細については、<classpath> 要素を参照してください。
Input — Included Non-Class Files
Input — Included Non-Class Files ページでは、アプリケーションに含まれていなければならないイメージ、プロパティ、構成ファイルなどの、非クラスの内容のソースを指定できます。
[Add]ボタンを使って既存のファイルを選択することにより、ディレクトリ、個々のファイル、または jar ファイルを一覧に追加することができます。
[New]ボタンを使ってエントリを作成し、名前を編集することもできます。
ディレクトリおよび jar ファイルの場合、非クラスのすべてのファイルは DashO の出力にコピーされます。
ディレクトリ エントリには、特定のファイルの種類を選択するための *
文字を使ったワイルドカード パターンを含めることができます。
ディレクトリ、zip、および jar ソース内部の非クラス ファイルは、それらの相対的な内部ディレクトリを保持して出力先にコピーされます。 指定した非クラス ファイルが出力先にコピーされます。 詳細については、<includenonclassfiles> 要素を参照してください。
メモ:
非クラス ファイルの処理中に検出された XML 構成ファイルは更新される可能性があります。 この更新により、クラス名やメソッド名を変更できるようになります。
入力をマージするとき、入力に非クラス ファイルが含まれている場合は、[Auto Copy]をオンにするか、ここでそれらを参照することができます。 入力をマージしない場合は、DashO が入力 jar ファイル内のすべての非クラス ファイルを自動的にコピーします。ただし、入力ディレクトリに現れる非クラス ファイルはコピーされません。 詳細については、Auto copy を参照してください。
Input — Options
このページは、DashO が入力クラスの分析時に使用するいくつかの基本的なオプションを制御します。
Ignore Missing Classes(不足クラスを無視)
DashO は、アプリケーションが呼び出そうとするすべてのクラスの分析を試みます。 このオプションを選択することで、見つからないクラスを無視するよう DashO に指示できます。
メモ:
DashO は、アプリケーションが拡張または実装するクラスとインターフェイスを無視できません。
Ignore Missing Methods(不足メソッドを無視)
DashO は分析の一環として、メソッドの具体的な実装を探そうとします。 このオプションをオンにすると、目的のメソッドを見つけられない場合でも処理が進められるようになります。 このオプションは慎重に使用してください。
Bypass DashO Processing(DashO 処理を回避)
このオプションをオンにすると、DashO は何も処理を実行しないように構成されます。 単に、入力が出力にコピーされます。 このオプションは、マージされていないディレクトリまたは APK を出力するときにサポートされます。
Reflection Halts Build(リフレクションによるビルド中止)
DashO の分析では、リフレクションのターゲットを識別できるように、アプリケーションでのリフレクションの使用状況を記録します。 アプリケーションのどの部分がリフレクションを使用しているか判断している場合には、このオプションをオンにします。
メモ:差し込まれたコードがリフレクションを使用することがあるため、このオプションを有効にしている場合はチェックを無効にする必要があるかもしれません。
Determine Reflected Classes(リフレクション クラスの特定)
DashO は、リフレクションの一部のターゲットを決定し、これらのクラスが出力に現れることを自動的に確認することができます。 この処理によって、ビルド時間が長くなる可能性があることに注意してください。
Rename Reflected Classes(リフレクション クラスを名前変更)
既定では、リフレクションのターゲットの名前は変更されません。 これらのクラスの名前を変更できるようにするには、このオプションを使用します。