Inputs (Standard Mode)
The input section is used to configure the inputs for your PreEmptive Protection™ DashO™ for Android & Java project.
Input — Jars and Classes
The input section starts with Input — Jars and Classes where the locations for the classes to be processed are configured. DashO can handle directories of classes, zip files, and jar files in the classpath. It also supports a single APK file. Entries may be added by selecting them from the file system using the Add button. You can also create an entry by using the New button and editing its name.
Note: Adding and removing entries will automatically refresh the class tree. However, manually entered names do not automatically refresh. Please use the refresh button when finished editing the name.
See the <inputpath> element for more information regarding the creation of input entries.
Input — Supporting Classpath
DashO needs access to classes in the Java or Android runtime and to classes in third party jars or modules. The classes referenced here are needed for DashO's analysis but are not processed. Entries may be added by selecting them from the file system using the Add button. You can also create an entry by using the New button and editing its name.
Note:
If you need DashO to warn instead of error when it can't find a configured support entry, add a User Property namedWARN_ON_MISSING_SUPPORT_ENTRY
and set it totrue
.
Include JDK
If enabled, DashO will include all the bootstrap and extension classes provided by the specified JDK home directory as supports.
Projects that use the Android API or J2ME should not include the JDK.
These projects require the runtime jar for these particular environments: e.g. Android.jar
or midpapi10.jar
.
The default value, ${JDK_HOME:-}
, will resolve to the JDK_HOME
environment variable.
If you do not have that environment variable, you can define a JDK_HOME
User Property.
You can also browse to the location of the JDK (e.g. C:\Program Files\Java\jdk-9.0.4
or /Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home
) and not use a property.
Notes:
The included JDK is also used when locating and running other programs such as jarsigner.
Set JDK_HOME and JAVA_HOME properties
Sets the JDK_HOME
and JAVA_HOME
properties to the specified JDK value, assuming that Include JDK is enabled as well.
See the <classpath> element for more information regarding the creation of new classpath entries.
Input — Included Non-Class Files
The Input — Included Non-Class Files page lets you specify the source for non-class contents, such as image, property, or configuration files that need to be in the application.
Directories, individual files, or jar files may be added to list by selecting an existing file using Add button.
You can also create an entry by using the New button and editing its name.
For directories and jars all non-class files are copied into DashO's output.
Directory entries can contain wildcard patterns using the *
character to select particular file types.
Non-class files inside directory, zip, and jar sources will be copied to the output destination preserving their relative internal directories. Specified non-class files will be copied to the output destination. See the <includenonclassfiles> element for details.
Notes:
XML configuration files found when processing the non-class files may be updated. This allows class and method names to be changed.
If you are merging inputs and your inputs contain the non-class files you can either turn on Auto Copy or reference them here. If you are not merging inputs DashO will copy over all non-class files in your input jars automatically; but non-class files that appear in input directories will not be copied. See Auto copy for details.
Input — Options
This page controls some basic options that DashO uses while analyzing the input classes.
Ignore Missing Classes
DashO will attempt to analyze all classes that the application attempts to call. You can instruct DashO to ignore missing classes by selecting this option.
Note:
DashO cannot ignore classes and interfaces that the application extends or implements.
Ignore Missing Methods
DashO will attempt to locate concrete implementations of methods as part of its analysis. Turning this option on lets DashO proceeded even if it cannot locate the desired method. Use this option with caution.
Bypass DashO Processing
Turning this option on configures DashO to not perform any processing. The inputs will simply be copied to the output. This option is supported when outputting an unmerged directory or an APK.
Reflection Halts Build
DashO's analysis makes note of reflection usage in the application so that the targets of reflection can be identified. Turn this option on when you are determining what parts of the application use reflection.
Note: You may need to disable checks when enabling this option because some injected code uses reflection.
Determine Reflected Classes
DashO can determine some targets of reflection and automatically make sure that these classes appear in the output. Note that this processing can increase the build time.
Rename Reflected Classes
By default, targets of reflection are not renamed. Use this option to allow these classes to be renamed.