Improve for support for Android < 8.0 (Fix NoClassDefFoundError) #356
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
java.nio.file
is only available starting at android API level 26 (= Android 8.0), see https://developer.android.com/reference/java/nio/file/package-summary.According to Google, 17,3% of all android phones currently (December 2021) in use are below Android version 8.0.
Note that java.nio.channels and java.nio.charsets are available since Android API level 1 (= Android 1.0).
Moving the usages of java.io.file into an own class omits a
java.lang.NoClassDefFoundError
during runtime. Previously this error gets thrown when MicsUtil was first loaded from classpath (e.g. when using MiscUtil.valueNullOrEmpty() in Email.java). Now with this PR all java.nio.file imports happen only in one file, which is not loaded during runtime when not using the CLI (which you most probably don't do on Android).