OSS-DocumentScanner
OSS-DocumentScanner copied to clipboard
[BUG] Can't open without DCL via memory and storage
Which app is your issue for
Document Scanner
Version
1.14.5
What platform are you using?
Android
OS Version
Android: 15 GrapheneOS: 2025021100
What happened?
Can't open the app without giving DCL memory and storage access
Digitalizador OSS log DCL Memory.txt
Digitalizador OSS log DCL Storage.txt
Relevant log output
DCL Memory log
type: memory_DCL
osVersion: google/lynx/lynx:15/AP4A.250205.002/2025021100:user/release-keys
package: com.akylas.documentscanner:121, targetSdk 35
package: com.akylas.documentscanner:121
DCL denial type: DENY_EXECMEM
DCL Storage log
type: storage_DCL
osVersion: google/lynx/lynx:15/AP4A.250205.002/2025021100:user/release-keys
package: com.akylas.documentscanner:121, targetSdk 35
package: com.akylas.documentscanner:121
DCL denial type: DexFileOpen
process: com.akylas.documentscanner
thread: main
java.lang.SecurityException: DCL via storage, path: /data/user/0/com.akylas.documentscanner/code_cache/secondary-dexes/com.nativescript.apputils.Utils_WindowInsetsCallback-1739846416416-121.jar, canonicalPath: /data/data/com.akylas.documentscanner/code_cache/secondary-dexes/com.nativescript.apputils.Utils_WindowInsetsCallback-1739846416416-121.jar
at android.ext.dcl.DynCodeLoading.checkDexFileOpen(DynCodeLoading.java:131)
at dalvik.system.DexFile.openDexFileNative(Native Method)
at dalvik.system.DexFile.openDexFile(DexFile.java:406)
at dalvik.system.DexFile.<init>(DexFile.java:128)
at dalvik.system.DexFile.<init>(DexFile.java:101)
at dalvik.system.DexPathList.loadDexFile(DexPathList.java:438)
at dalvik.system.DexPathList.makeDexElements(DexPathList.java:397)
at dalvik.system.DexPathList.<init>(DexPathList.java:166)
at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:160)
at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:105)
at dalvik.system.DexClassLoader.<init>(DexClassLoader.java:55)
at com.tns.DexFactory.resolveClass(SourceFile:386)
at com.tns.ClassResolver.resolveClass(Unknown Source:35)
at com.tns.Runtime.resolveClass(Unknown Source:9)
at com.tns.Runtime.callJSMethodNative(Native Method)
at com.tns.Runtime.dispatchCallJSMethodNative(SourceFile:1)
at com.tns.Runtime.callJSMethodImpl(Unknown Source:100)
at com.tns.Runtime.callJSMethod(SourceFile:1)
at com.tns.Runtime.callJSMethod(SourceFile:2)
at com.tns.Runtime.callJSMethod(SourceFile:3)
at com.akylas.documentscanner.MainActivity.onCreate(SourceFile:1)
at android.app.Activity.performCreate(Activity.java:9072)
at android.app.Activity.performCreate(Activity.java:9050)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1538)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4124)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4329)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:222)
at android.app.servertransaction.TransactionExecutor.executeNonLifecycleItem(TransactionExecutor.java:133)
at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:103)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:80)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2728)
at android.os.Handler.dispatchMessage(Handler.java:109)
at android.os.Looper.loopOnce(Looper.java:232)
at android.os.Looper.loop(Looper.java:317)
at android.app.ActivityThread.main(ActivityThread.java:8826)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:591)
at com.android.internal.os.ExecInit.main(ExecInit.java:50)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:369)
Code of Conduct
- [x] I agree to follow this project's Code of Conduct
@asimovc What is DCL? I dont know about GrapheneOS specifics. But the app does not really do something out of the normal permissions. So not sure what i can do or if it is even an issue
@asimovc What is DCL? I dont know about GrapheneOS specifics. But the app does not really do something out of the normal permissions. So not sure what i can do or if it is even an issue
Is not a GrapheneOS specific, is just Dynamic Code Loading on Android
@asimovc ok i get it know. So it is normal and i cant change it. It is part of the way Nativescript works. Nativescript is the framework i use to write cross-platform apps. DCL is used to load java classes from JS code. EDIT: We are discussing it. We are already making it as safe as possible https://developer.android.com/about/versions/14/behavior-changes-14#safer-dynamic-code-loading
duplicate of https://github.com/Akylas/OSS-DocumentScanner/issues/485