dotenv-kotlin
dotenv-kotlin copied to clipboard
Crashes on Android version 7 and older
Detected crashes for users using older versions of Android (API <= 24, i.e. Android 7 and older). Setup is in line with your docs/examples and works just fine for newer versions of Android.
Stack traces:
Fatal Exception: java.lang.NoClassDefFoundError Failed resolution of: Ljava/nio/file/Paths;
io.github.cdimascio.dotenv.internal.DotenvReader.read (DotenvReader.java:33)
io.github.cdimascio.dotenv.internal.DotenvParser.lines (DotenvParser.java:52)
io.github.cdimascio.dotenv.internal.DotenvParser.parse (DotenvParser.java:34)
io.github.cdimascio.dotenv.DotenvBuilder.load (DotenvBuilder.java:77)
io.github.cdimascio.dotenv.DslKt.dotenv (DslKt.java:19)
se.collectorbank.collectorbankbankapp.activities.CollectorActivity.
Caused by java.lang.ClassNotFoundException Didn't find class "java.nio.file.Paths" on path: DexPathList[[zip file "/data/app/se.collector.bankapp-1/base.apk"],nativeLibraryDirectories=[/data/app/se.collector.bankapp-1/lib/arm64, /system/lib64, /vendor/lib64, /system/vendor/lib64, /product/lib64]]
dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:56)
java.lang.ClassLoader.loadClass (ClassLoader.java:380)
java.lang.ClassLoader.loadClass (ClassLoader.java:312)
arrow_right
io.github.cdimascio.dotenv.internal.DotenvReader.read (DotenvReader.java:33)
io.github.cdimascio.dotenv.internal.DotenvParser.lines (DotenvParser.java:52)
io.github.cdimascio.dotenv.internal.DotenvParser.parse (DotenvParser.java:34)
io.github.cdimascio.dotenv.DotenvBuilder.load (DotenvBuilder.java:77)
io.github.cdimascio.dotenv.DslKt.dotenv (DslKt.java:19)
se.collectorbank.collectorbankbankapp.activities.CollectorActivity.
java.nio.file.Paths was added in Added in API level 26
https://developer.android.com/reference/java/nio/file/Paths
in order to support his, we'll need to use a different API to handle paths
This can be resolve by updating these lines
https://github.com/cdimascio/dotenv-java/blob/master/src/main/java/io/github/cdimascio/dotenv/internal/DotenvReader.java#L32-L33
PRs are welcome. Would you be up for taking a stab at it?
FYI I've added a feature to get this to work on Android <= 8. See https://github.com/cdimascio/dotenv-java/pull/55 for details.