Apologies everyone for posting a lot of requests for support here. Now trying to run ODK-X apps on my Android 11 device (Pixel 4a), and wondering if the OS is supported.
I know there have been some changes to storage on Android 11 and wondering if that’s what’s causing the issue.
Behavior of each app:
OI File Manager: Expected behavior
ODK-X Services opens, but pressing any option, except ‘About’ under the overflow button crashes the app.
ODK-X Survey: App does not open, message displayed “Please install ODK Services before continuing”
ODK-X Table: Opens, but blank screen with message saying “Dependencies Missing: Please install both OI file Manager and ODK Services before continuing”. App closes when pushing Okay.
1 Like
Hi @jwrozelle !
Can you let us know which version of the ODK-X apps you are using? Make sure you are using the latest (v2.1.7).
Hi @elmps2018 !
Should be the latest, I believe 2.1.7. I downloaded them all from ./releases/latest today. I could download the source code and do some USB debugging, but, thought that if there was an easier answer I might try that first.
1 Like
ODK-X Services is required for either ODK-X Tables or ODK-X Survey to work.
Somebody recently alerted us to a possible issue with Android 11 late last week. Somebody will be looking into it this week. We do not yet have a definitive answer.
opened 03:44PM - 04 Mar 21 UTC
closed 09:35PM - 11 Apr 21 UTC
Hi,
I've just installed ODK-X and ODK-X Services crashes if I try to refresh … or when I open the settings.
```
03-04 15:39:37.643 1599 2349 I ActivityTaskManager: START u0 {cmp=org.opendatakit.services/.preferences.activities.AppPropertiesActivity (has extras)} from uid 10285
03-04 15:39:37.659 1599 1639 D EventSequenceValidator: dec AccIntentStartedEvents to 1
03-04 15:39:37.662 1599 2349 W ActivityTaskManager: Tried to set launchTime (0) < mLastActivityLaunchTime (42947458)
03-04 15:39:37.679 545 545 E SELinux : avc: denied { find } for pid=2581 uid=10243 name=tethering scontext=u:r:grilservice_app:s0:c243,c256,c512,c768 tcontext=u:object_r:tethering_service:s0 tclass=service_manager permissive=0
03-04 15:39:37.699 4766 14090 E MediaProvider: Creating a non-default top level directory or deleting an existing one is not allowed!
03-04 15:39:37.700 4766 14114 E MediaProvider: Creating a non-default top level directory or deleting an existing one is not allowed!
03-04 15:39:37.701 29753 29753 D AndroidRuntime: Shutting down VM
03-04 15:39:37.701 29753 29753 E AndroidRuntime: FATAL EXCEPTION: main
03-04 15:39:37.701 29753 29753 E AndroidRuntime: Process: org.opendatakit.services, PID: 29753
03-04 15:39:37.701 29753 29753 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{org.opendatakit.services/org.opendatakit.services.preferences.activities.AppPropertiesActivity}: java.lang.IllegalArgumentException: External storage not available
03-04 15:39:37.701 29753 29753 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3431)
03-04 15:39:37.701 29753 29753 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3595)
03-04 15:39:37.701 29753 29753 E AndroidRuntime: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
03-04 15:39:37.701 29753 29753 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
03-04 15:39:37.701 29753 29753 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
03-04 15:39:37.701 29753 29753 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
03-04 15:39:37.701 29753 29753 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106)
03-04 15:39:37.701 29753 29753 E AndroidRuntime: at android.os.Looper.loop(Looper.java:223)
03-04 15:39:37.701 29753 29753 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7660)
03-04 15:39:37.701 29753 29753 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
03-04 15:39:37.701 29753 29753 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
03-04 15:39:37.701 29753 29753 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
03-04 15:39:37.701 29753 29753 E AndroidRuntime: Caused by: java.lang.IllegalArgumentException: External storage not available
03-04 15:39:37.701 29753 29753 E AndroidRuntime: at org.opendatakit.properties.PropertiesSingletonFactory.verifyDirectories(PropertiesSingletonFactory.java:51)
03-04 15:39:37.701 29753 29753 E AndroidRuntime: at org.opendatakit.properties.PropertiesSingletonFactory.getSingleton(PropertiesSingletonFactory.java:71)
03-04 15:39:37.701 29753 29753 E AndroidRuntime: at org.opendatakit.properties.CommonToolProperties.get(CommonToolProperties.java:312)
03-04 15:39:37.701 29753 29753 E AndroidRuntime: at org.opendatakit.services.preferences.activities.AppPropertiesActivity.onCreate(AppPropertiesActivity.java:88)
03-04 15:39:37.701 29753 29753 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:8000)
03-04 15:39:37.701 29753 29753 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:7984)
03-04 15:39:37.701 29753 29753 E AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)
03-04 15:39:37.701 29753 29753 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3404)
03-04 15:39:37.701 29753 29753 E AndroidRuntime: ... 11 more
03-04 15:39:37.728 3059 16647 W NetworkScheduler: Error inserting flex_time=3576000 job_id=-1 period=7153000 source=16 requires_charging=0 preferred_network_type=1 target_class=com.google.android.gms.measurement.PackageMeasurementTaskService user_id=0 target_package=com.google.android.gms tag=Measurement.PackageMeasurementTaskService.UPLOAD_TASK_TAG task_type=0 required_idleness_state=0 service_kind=0 source_version=210214000 persistence_level=1 preferred_charging_state=1 required_network_type=0 runtime=1614872377726 retry_strategy={"maximum_backoff_seconds":{"3600":0},"initial_backoff_seconds":{"30":0},"retry_policy":{"0":0}} last_runtime=0, error message: UNIQUE constraint failed: pending_ops.tag, pending_ops.target_class, pending_ops.target_package, pending_ops.user_id (code 2067 SQLITE_CONSTRAINT_UNIQUE) [CONTEXT service_id=218 ]
03-04 15:39:37.785 29753 29782 D TransportRuntime.SQLiteEventStore: Storing event with priority=HIGHEST, name=FIREBASE_CRASHLYTICS_REPORT for destination cct
03-04 15:39:37.787 29753 29782 D TransportRuntime.JobInfoScheduler: Scheduling upload for context TransportContext(cct, HIGHEST, MSRodHRwczovL2NyYXNobHl0aWNzcmVwb3J0cy1wYS5nb29nbGVhcGlzLmNvbS92MS9maXJlbG9nL2xlZ2FjeS9iYXRjaGxvZ1xBSXphU3lCcnBTWVQ0RkZMMDlyZUhKaTZIOUZZZGVpU25VVE92Mk0=) with jobId=-497994842 in 1000ms(Backend next call timestamp 1614872377181). Attempt 1
03-04 15:39:37.795 545 545 E SELinux : avc: denied { find } for pid=27723 uid=10254 name=tethering scontext=u:r:permissioncontroller_app:s0:c254,c256,c512,c768 tcontext=u:object_r:tethering_service:s0 tclass=service_manager permissive=0
03-04 15:39:37.812 1599 30176 I DropBoxManagerService: add tag=data_app_crash isTagEnabled=true flags=0x2
03-04 15:39:37.814 1599 2645 W ActivityTaskManager: Force finishing activity org.opendatakit.services/.preferences.activities.AppPropertiesActivity
03-04 15:39:37.827 1599 2645 W ActivityTaskManager: Force finishing activity org.opendatakit.services/.MainActivity
03-04 15:39:37.836 1599 1639 D EventSequenceValidator: dec AccIntentStartedEvents to 0
03-04 15:39:37.836 1599 4884 W BroadcastQueue: Background execution not allowed: receiving Intent { act=android.intent.action.DROPBOX_ENTRY_ADDED flg=0x10 (has extras) } to com.google.android.gms/.stats.service.DropBoxEntryAddedReceiver
03-04 15:39:37.836 1154 2174 W iorapd : Rejecting transition from kIntentFailed to kActivityLaunchCancelled
03-04 15:39:37.836 3059 16647 W NetworkScheduler: Error inserting flex_time=0 job_id=-1 period=2000 source=16 requires_charging=0 preferred_network_type=1 target_class=com.google.android.gms.measurement.PackageMeasurementTaskService user_id=0 target_package=com.google.android.gms tag=Measurement.PackageMeasurementTaskService.UPLOAD_TASK_TAG task_type=0 required_idleness_state=0 service_kind=0 source_version=210214000 persistence_level=1 preferred_charging_state=1 required_network_type=0 runtime=1614872377834 retry_strategy={"maximum_backoff_seconds":{"3600":0},"initial_backoff_seconds":{"30":0},"retry_policy":{"0":0}} last_runtime=0, error message: UNIQUE constraint failed: pending_ops.tag, pending_ops.target_class, pending_ops.target_package, pending_ops.user_id (code 2067 SQLITE_CONSTRAINT_UNIQUE) [CONTEXT service_id=218 ]
03-04 15:39:37.840 1599 1645 W BroadcastQueue: Background execution not allowed: receiving Intent { act=android.intent.action.DROPBOX_ENTRY_ADDED flg=0x10 (has extras) } to com.google.android.gms/.chimera.GmsIntentOperationService$PersistentTrustedReceiver
03-04 15:39:37.849 4810 5476 I AssistantForeground: Get launcher package: android
03-04 15:39:37.875 3059 4499 E axfd : Exception occurred while getting SettingsStore instance.
03-04 15:39:37.875 3059 4499 E axfd : java.util.concurrent.ExecutionException: com.google.android.gms.auth.UserRecoverableAuthException: BadAuthentication
03-04 15:39:37.875 3059 4499 E axfd : at java.util.concurrent.FutureTask.report(FutureTask.java:123)
03-04 15:39:37.875 3059 4499 E axfd : at java.util.concurrent.FutureTask.get(FutureTask.java:207)
03-04 15:39:37.875 3059 4499 E axfd : at axfd.c(:com.google.android.gms@210214046@21.02.14 (150400-352619232):3)
03-04 15:39:37.875 3059 4499 E axfd : at axfd.a(:com.google.android.gms@210214046@21.02.14 (150400-352619232):1)
03-04 15:39:37.875 3059 4499 E axfd : at axan.a(:com.google.android.gms@210214046@21.02.14 (150400-352619232):5)
03-04 15:39:37.875 3059 4499 E axfd : at axan.fM(:com.google.android.gms@210214046@21.02.14 (150400-352619232):12)
03-04 15:39:37.875 3059 4499 E axfd : at zdv.run(:com.google.android.gms@210214046@21.02.14 (150400-352619232):9)
03-04 15:39:37.875 3059 4499 E axfd : at bojz.run(:com.google.android.gms@210214046@21.02.14 (150400-352619232):2)
03-04 15:39:37.875 3059 4499 E axfd : at rmw.c(:com.google.android.gms@210214046@21.02.14 (150400-352619232):6)
03-04 15:39:37.875 3059 4499 E axfd : at rmw.run(:com.google.android.gms@210214046@21.02.14 (150400-352619232):7)
03-04 15:39:37.875 3059 4499 E axfd : at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
03-04 15:39:37.875 3059 4499 E axfd : at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
03-04 15:39:37.875 3059 4499 E axfd : at rst.run(:com.google.android.gms@210214046@21.02.14 (150400-352619232):0)
03-04 15:39:37.875 3059 4499 E axfd : at java.lang.Thread.run(Thread.java:923)
03-04 15:39:37.875 3059 4499 E axfd : Caused by: com.google.android.gms.auth.UserRecoverableAuthException: BadAuthentication
03-04 15:39:37.875 3059 4499 E axfd : at fzw.t(:com.google.android.gms@210214046@21.02.14 (150400-352619232):3)
03-04 15:39:37.875 3059 4499 E axfd : at fzq.a(:com.google.android.gms@210214046@21.02.14 (150400-352619232):0)
03-04 15:39:37.875 3059 4499 E axfd : at fzw.A(:com.google.android.gms@210214046@21.02.14 (150400-352619232):4)
03-04 15:39:37.875 3059 4499 E axfd : at fzw.r(:com.google.android.gms@210214046@21.02.14 (150400-352619232):15)
03-04 15:39:37.875 3059 4499 E axfd : at fzw.q(:com.google.android.gms@210214046@21.02.14 (150400-352619232):0)
03-04 15:39:37.875 3059 4499 E axfd : at fzw.o(:com.google.android.gms@210214046@21.02.14 (150400-352619232):0)
03-04 15:39:37.875 3059 4499 E axfd : at fzw.y(:com.google.android.gms@210214046@21.02.14 (150400-352619232):0)
03-04 15:39:37.875 3059 4499 E axfd : at axfq.call(Unknown Source:3)
03-04 15:39:37.875 3059 4499 E axfd : at java.util.concurrent.FutureTask.run(FutureTask.java:266)
03-04 15:39:37.875 3059 4499 E axfd : ... 6 more
```
I am running Android 11 (Pixel 5)
Waylon
1 Like
Ahh, great! Thanks @W_Brunette . Looks like someone has done all the hard work for me.
Appreciate your work on this!
1 Like
I must add (perhaps it would be another new topic, let me know please), that OI File Manager can be the reason:
Theses days 2 students have said me that they have problems to see the folder “opendatakit” at his mobiles using OI File Manager under an Android 10 version.
At the image, see the error message: “Ocurrió un error: no access” (that means “Error ocurred: no access”.
When touching the screen at the SDCard symbol, there is not any answer, but the error message.
I think that if OI File Manager don’t work correctly from the Android 10 version, Services, nor Survey and nor Tables goes to work well, is’n’t?
Also, I’m askking to me how to solve the problem if it’s caused by OI File Manager, an external app from the Open Data Kit project, ¿?
I apologize for the inconveniences if I would must generate another new topic better than write here.
1 Like
…and, also, I’m realizing that my students finally have been able to complet all the excercises, using Survey and Tables; taking that into account:
OI File Manager is not well working under Android 10, but at least, Survey and Tables can work well
Perhaps, under Android 11, the functionality of OI File Manager is more restricted, so the apps not work at all…
What do you think??
1 Like
@jwrozelle the preview release of version 2.1.8 is now available that should fix your issue. Can you give us a try and let us know by end of the week?
The preview of the upcoming version 2.1.8 release of the ODK-X Tool Suite is now available for testing!
Please report any issues or problems here .
The v2.1.8 tools are backward compatible with v2.1.* BUT not backward compatible with previous versions (v2.0.*). The incompatibility is internal to the ODK-X tools, all external files such as XLSX forms, JavaScript/HTML, and server interfaces are unaffected. Most users should experience a smooth upgrade.
Detailed documentation about the ODK-X Tool…
1 Like