public class RuntimeBuilderSettings extends Object
Modifier and Type | Field and Description |
---|---|
PlainKString |
app_descr
Descriptive text of the app, use text table externalized for multiple languages
|
String |
app_id
Specifies the app's reverse-domain identifier, e.g.
|
String |
app_id_android
Specifies the app's reverse-domain identifier, e.g.
|
String |
app_id_ios
Specifies the app's reverse-domain identifier, e.g.
|
String |
app_id_windows
Specifies the app's reverse-domain identifier, e.g.
|
PlainKString |
app_locName
Name of the app displayed to the user.
|
String |
app_name
Short name of the app without spaces.
|
String |
app_textTable
Base text table for iiziRun texts.
|
static boolean |
areAndroidIconsTransparent
Flag for opacity for Android icons.
|
static boolean |
areiOSIconsTransparent
Flag for opacity for iOS icons.
|
static boolean |
areWindowsIconsTransparent
Flag for opacity for Windows icons.
|
String |
assets_folder
The Assets folder for "icons" and "splash" screens.
|
String |
author_email
Email to author for app.
|
String |
author_href
Web site of author for app.
|
PlainKString |
author_name
Name of author.
|
boolean |
build_android
Builds the customized iiziRun for Android, default true.
|
boolean |
build_ios
Builds the customized iiziRun for iOS, default true.
|
String |
build_remote
Specifies the address of the Remote iiziRun Builder machine.
|
boolean |
build_remote_all
Build all remotely.
|
boolean |
build_remote_tls
Secured with TLS.
|
int |
build_target_types
Targets to build: 0=debug, 1=release, 2=both.
|
String |
build_version
Full version number expressed in major.minor.patch notation (default 1.0.0).
|
boolean |
build_windows_uap
Builds the customized iiziRun for Windows 10 Universal Platform, default true.
|
String |
cert_C
Certificate "C": Two letter country code, e.g.
|
String |
cert_CN
The Common Name of the author for certificates.
|
String |
cert_L
Certificate "L": Locality (city) name, e.g.
|
String |
cert_O
Certificate "O": Large organization name, e.g.
|
String |
cert_OU
Certificate "OU": Small organization name, e.g.
|
String |
cert_ST
Certificate "ST": State name, e.g.
|
int |
deepLink_op
The operation that are allowed for Deep Linking.
|
String |
deepLink_urlscheme
Enables Deep Linking by means of an URL scheme.
|
static String[] |
ICON_DENSITY_ANDROID
Icon densities for Android, null for none.
|
static String[] |
ICON_NAMES_ANDROID
The transparent icon names for Android required in the icons directory.
|
static String[] |
ICON_NAMES_COMMON
The transparent icon names for Common use (Web, etc) required in the icons directory.
|
static String[] |
ICON_NAMES_COMMON_MUST_BE_PRESENT
The transparent icon names for Common use (Web, etc) required in the icons directory.
|
static String[] |
ICON_NAMES_IOS
The opaque icon names for iOS required in the icons directory.
|
static String[] |
ICON_NAMES_WINDOWS
The icon names for Windows required in the icons directory.
|
String |
jdk_path
Path to the root of the Java 1.8 Development Kit.
|
String |
login_password
The initial password for a default login.
|
String |
login_user
The initial user name for a default login.
|
boolean |
output_clear
Flag indicating if the user should be prompted to clear the build output
directory or if it should automatically be done.
|
String |
output_path
Path where the build output of the customized iiziRun will be placed.
|
boolean |
plugin_camera
Enables taking pictures and for choosing images from the system's image library.
|
boolean |
plugin_contacts
Enables the access to the contacts database of the device.
|
boolean |
plugin_fingerprint
Enables fingerprint authentication with Android Fingerprint scanner or iOS Touch ID.
|
boolean |
plugin_firebase
Enables push notifications, analytics, event tracking, crash reporting and more from Google Firebase.
|
boolean |
plugin_geolocation
Enables the geolocation functions.
|
boolean |
plugin_geolocation_BG_android
Enables the background geolocation functions for Android.
|
boolean |
plugin_geolocation_BG_ios
Enables the background geolocation functionsfor iOS.
|
boolean |
plugin_inappbrowser
Enables the in-app browser to display web pages much like the external web browser.
|
boolean |
plugin_media
This plugin provides the ability to record and play back audio files on a device.
|
boolean |
plugin_media_capture
This plugin provides access to the device's audio, image, and video capture capabilities.
|
boolean |
plugin_vibration
Enables simple vibrations on the device.
|
RuntimeBuilderProps |
props
The settings property.
|
String |
server_addr
Address of the iizi Server.
|
int |
server_port
Server port number, normally 443 for secure TLS connections (default),
otherwise e.g.
|
boolean |
server_secure
Indicates the server port is configured for secure TLS communication, default true.
|
boolean |
server_validate
Validates that the server is really present and an iizi Server.
|
static String[] |
SPLASH_FILES
Splash screens are opaque.
|
static int[] |
SPLASH_IOS_SIZES
Splash screen sizes for iOS: first width, then height.
|
String |
srv_app_descr
The iizi Server App Description.
|
String |
srv_app_id
The iizi Server App ID.
|
protected TextTable |
textTable
The text table, null if it comes from a remote party.
|
static int |
TOTAL_ICON_COUNT
Count of icons needed (for wizard to display).
|
String |
windows_publisher_id
The windows publisher ID as e.g.
|
String |
windows_store_identity_name
The Windows Store identity name, e.g.
|
Constructor and Description |
---|
RuntimeBuilderSettings(RuntimeBuilderProps pc)
The constructor.
|
Modifier and Type | Method and Description |
---|---|
File |
generateAndroidDebugKeyStore(File assetsDir)
Generates the Android debug key store and saves it to the properties.
|
static File |
generateAndroidDebugKeyStore(RuntimeBuilderProps props,
File assetsDir)
Generates the Android debug key store and saves it to the properties.
|
static File |
generateAndroidReleaseKeyStore(RuntimeBuilderProps props,
X500Principal owner,
File assetsDir)
Generates the Android release key store and saves it to the properties.
|
File |
generateAndroidReleaseKeyStore(X500Principal owner,
File assetsDir)
Generates the Android release key store and saves it to the properties.
|
X500Principal |
getAndroidCertificateOwner()
Gets the Android app owner used when signing release APK's,
an X.500 principal used for certificate creation.
|
static String |
getAndroidDebugAlias()
Gets the Android debug code alias in the keystore ("androiddebugkey").
|
static X500Principal |
getAndroidDebugOwner()
Gets the Android Debug owner for signing apps.
|
static String |
getAndroidDebugPassword()
Gets the Android debug code signing password.
|
static String |
getAndroidReleaseAlias()
Gets the Android release code alias in the keystore ("iizi").
|
String |
getAndroidReleasePassword()
Gets the Android release code signing password.
|
static String |
getAndroidReleasePassword(RuntimeBuilderProps props)
Gets the Android release code signing password.
|
File |
getAssetsSubdirectory()
Gets the projects subdirectory in the Assets folder.
|
TextTable[] |
getDerivedTextTables()
Gets all tables in all open projects that derives from this text table.
|
String |
getLocalizedString(PlainKString pks,
String languageCode)
Resolves a PlainKString that refers to the text table with the specified language code.
|
File |
getOutputDirectory()
Gets the output directory where to place the builds.
|
TextTable |
getTextTable()
Gets the text table.
|
boolean |
hasAndroidKeyStore(boolean isRelease)
Checks for presence of Android keystore of debug or release type.
|
static boolean |
hasAndroidKeyStore(RuntimeBuilderProps props,
boolean isRelease)
Checks for presence of Android keystore of debug or release type.
|
boolean |
isInternalBuild()
Checks for internal build.
|
void |
verify(boolean isDesigner,
boolean doCheckAll,
File projectDir,
Set<String> textTableIDs,
ArrayList<BuilderError> errors)
Performs verification of the settings.
|
String |
writeAndroidKeyStore(File file,
boolean isRelease)
Writes an Android KeyStore to file.
|
static String |
writeAndroidKeyStore(RuntimeBuilderProps props,
File file,
boolean isRelease)
Writes an Android KeyStore to file.
|
public static final String[] ICON_NAMES_COMMON
public static final String[] ICON_NAMES_COMMON_MUST_BE_PRESENT
public static final boolean areAndroidIconsTransparent
public static final String[] ICON_NAMES_ANDROID
public static final String[] ICON_DENSITY_ANDROID
public static final boolean areiOSIconsTransparent
public static final String[] ICON_NAMES_IOS
Note that there are TWO names that begins with "windows/" and needs a subdirectory. These icons are not square.
public static final boolean areWindowsIconsTransparent
public static final String[] ICON_NAMES_WINDOWS
Note that there are TWO names that begins with "windows/" and needs a subdirectory. These icons are not square.
public static final String[] SPLASH_FILES
public static final int[] SPLASH_IOS_SIZES
public static final int TOTAL_ICON_COUNT
public final RuntimeBuilderProps props
public final String build_version
public final boolean build_android
public final boolean build_ios
public final boolean build_windows_uap
public final int build_target_types
public final String build_remote
public final boolean build_remote_tls
public final boolean build_remote_all
public final String app_id
public final String app_name
public final String assets_folder
public final String app_textTable
protected TextTable textTable
public final PlainKString app_locName
public final PlainKString app_descr
public final PlainKString author_name
public final String author_email
public final String author_href
public final String cert_CN
public final String cert_O
public final String cert_OU
public final String cert_L
public final String cert_ST
public final String cert_C
public final String server_addr
public final int server_port
public final boolean server_secure
public final boolean server_validate
public final String srv_app_id
public final String srv_app_descr
null
or an empty string means that no description is available.
This value is used merely for the interface on the client side for choosing the
app, when this is possible.public final String login_user
In order to avoid a login prompt and to handle the login process inside the app, provide a valid and authorized User name and Password. This user should just have access to the app initially.
The default is "iiziRun Developer" with "secret" password.
public final String login_password
The default is "iiziRun Developer" with "secret" password.
public final String deepLink_urlscheme
null
means not enabled.public final int deepLink_op
Values:
public final String output_path
public final boolean output_clear
public final String jdk_path
public final boolean plugin_camera
public final boolean plugin_contacts
public final boolean plugin_firebase
public final boolean plugin_geolocation
Enabled by default.
public final boolean plugin_geolocation_BG_android
public final boolean plugin_geolocation_BG_ios
Note: the App Store is very strict for this setting and will only allow your app to use it if you can "prove" that the app functions requires it.
public final boolean plugin_inappbrowser
public final boolean plugin_media
public final boolean plugin_media_capture
WARNING: Collection and use of images, video, or audio from the device's camera or microphone raises important privacy issues. Your app's privacy policy should discuss how the app uses such sensors and whether the data recorded is shared with any other parties. In addition, if the app's use of the camera or microphone is not apparent in the user interface, you should provide a just-in-time notice before the app accesses the camera or microphone (if the device operating system doesn't do so already). That notice should provide the same information noted above, as well as obtaining the user's permission (e.g., by presenting choices for 'OK' and 'No Thanks'). Note that some app marketplaces may require your app to provide just-in-time notice and obtain permission from the user prior to accessing the camera or microphone.
public final boolean plugin_fingerprint
public final boolean plugin_vibration
public final String app_id_android
public final String app_id_ios
public final String app_id_windows
public final String windows_publisher_id
public final String windows_store_identity_name
public RuntimeBuilderSettings(RuntimeBuilderProps pc)
pc
- The runtime builder properties container.public void verify(boolean isDesigner, boolean doCheckAll, File projectDir, Set<String> textTableIDs, ArrayList<BuilderError> errors)
isDesigner
- Flag for Designer.doCheckAll
- Final check-all verification to also check URL's etc.projectDir
- The project directory (for Eclipse, for Remote Server it is null.textTableIDs
- Text table IDs required, null for no checking.errors
- The errors array to fill in.public File getOutputDirectory()
public String getLocalizedString(PlainKString pks, String languageCode)
pks
- The plain KString.languageCode
- The language code supported by the application, null for default English or
if language code is not found.Note: If the text fails to resolve, a severe error is logged, and the original raw string is returned instead.
public File getAssetsSubdirectory()
public boolean hasAndroidKeyStore(boolean isRelease)
isRelease
- true for release, false for debug.public static boolean hasAndroidKeyStore(RuntimeBuilderProps props, boolean isRelease)
props
- The runtime builder properties.isRelease
- true for release, false for debug.public static String getAndroidDebugAlias()
public static String getAndroidReleaseAlias()
public static String getAndroidDebugPassword()
public String getAndroidReleasePassword()
public static String getAndroidReleasePassword(RuntimeBuilderProps props)
props
- The runtime builder properties.public static X500Principal getAndroidDebugOwner()
public X500Principal getAndroidCertificateOwner() throws Exception
Exception
- For errors.public File generateAndroidDebugKeyStore(File assetsDir) throws InvalidKeyException, NoSuchAlgorithmException, NoSuchProviderException, IllegalStateException, SignatureException, KeyStoreException, CertificateException, IOException, PropException
assetsDir
- The directory where the project Assets are located, to write the android-debug.p12 file into.
If null, no such PKCS#12 file is created.IOException
- For I/O errors.CertificateException
- If any of the certificates in the keystore could not be saved.NoSuchAlgorithmException
- If the algorithm used to check the integrity of the keystore cannot be found.KeyStoreException
- If no Provider supports a KeyStoreSpi implementation for the PKCS#12 type.SignatureException
- If the signature is in error.IllegalStateException
- If the state is invalid to generate a keystore.NoSuchProviderException
- If no provider for the certificate is available.InvalidKeyException
- If the key in invalid.PropException
- If there is a Property Exception.public static File generateAndroidDebugKeyStore(RuntimeBuilderProps props, File assetsDir) throws InvalidKeyException, NoSuchAlgorithmException, NoSuchProviderException, IllegalStateException, SignatureException, KeyStoreException, CertificateException, IOException, PropException
props
- The runtime builder properties.assetsDir
- The directory where the project Assets are located, to write the android-debug.p12 file into.
If null, no such PKCS#12 file is created.IOException
- For I/O errors.CertificateException
- If any of the certificates in the keystore could not be saved.NoSuchAlgorithmException
- If the algorithm used to check the integrity of the keystore cannot be found.KeyStoreException
- If no Provider supports a KeyStoreSpi implementation for the PKCS#12 type.SignatureException
- If the signature is in error.IllegalStateException
- If the state is invalid to generate a keystore.NoSuchProviderException
- If no provider for the certificate is available.InvalidKeyException
- If the key in invalid.PropException
- If there is a Property Exception.public File generateAndroidReleaseKeyStore(X500Principal owner, File assetsDir) throws InvalidKeyException, NoSuchAlgorithmException, NoSuchProviderException, IllegalStateException, SignatureException, KeyStoreException, CertificateException, IOException, PropException
owner
- The certificate owner.assetsDir
- The directory where the project Assets are located, to write the android-release.p12 file into.
If null, no such PKCS#12 file is created.IOException
- For I/O errors.CertificateException
- If any of the certificates in the keystore could not be saved.NoSuchAlgorithmException
- If the algorithm used to check the integrity of the keystore cannot be found.KeyStoreException
- If no Provider supports a KeyStoreSpi implementation for the PKCS#12 type.SignatureException
- If the signature is in error.IllegalStateException
- If the state is invalid to generate a keystore.NoSuchProviderException
- If no provider for the certificate is available.InvalidKeyException
- If the key in invalid.PropException
- If there is a Property Exception.public static File generateAndroidReleaseKeyStore(RuntimeBuilderProps props, X500Principal owner, File assetsDir) throws InvalidKeyException, NoSuchAlgorithmException, NoSuchProviderException, IllegalStateException, SignatureException, KeyStoreException, CertificateException, IOException, PropException
props
- The runtime builder properties.owner
- The certificate owner.assetsDir
- The directory where the project Assets are located, to write the android-release.p12 file into.
If null, no such PKCS#12 file is created.IOException
- For I/O errors.CertificateException
- If any of the certificates in the keystore could not be saved.NoSuchAlgorithmException
- If the algorithm used to check the integrity of the keystore cannot be found.KeyStoreException
- If no Provider supports a KeyStoreSpi implementation for the PKCS#12 type.SignatureException
- If the signature is in error.IllegalStateException
- If the state is invalid to generate a keystore.NoSuchProviderException
- If no provider for the certificate is available.InvalidKeyException
- If the key in invalid.PropException
- If there is a Property Exception.public String writeAndroidKeyStore(File file, boolean isRelease) throws NotFoundException, KeyStoreException, NoSuchAlgorithmException, CertificateException, IOException
file
- Destination file for a PKCS#12 KeyStore (i.e. "file-name.p12").isRelease
- The release KeyStore when true, debug when false.NotFoundException
- If properties are not found.IOException
- For I/O errors.CertificateException
- If any of the certificates in the keystore could not be saved.NoSuchAlgorithmException
- If the algorithm used to check the integrity of the keystore cannot be found.KeyStoreException
- If no Provider supports a KeyStoreSpi implementation for the PKCS#12 type.public static String writeAndroidKeyStore(RuntimeBuilderProps props, File file, boolean isRelease) throws NotFoundException, KeyStoreException, NoSuchAlgorithmException, CertificateException, IOException
props
- The runtime builder properties.file
- Destination file for a PKCS#12 KeyStore (i.e. "file-name.p12").isRelease
- The release KeyStore when true, debug when false.NotFoundException
- If properties are not found.IOException
- For I/O errors.CertificateException
- If any of the certificates in the keystore could not be saved.NoSuchAlgorithmException
- If the algorithm used to check the integrity of the keystore cannot be found.KeyStoreException
- If no Provider supports a KeyStoreSpi implementation for the PKCS#12 type.public TextTable getTextTable()
public TextTable[] getDerivedTextTables()
In runtime, this method returns an empty array!
public boolean isInternalBuild()
iizi® is a registered trademark of Mindus SARL. © Copyright Mindus SARL, 2020. All rights reserved.