Skip to main content
Oldes
Inspiring
May 14, 2018
Question

MODE_WORLD_READABLE no longer supported

  • May 14, 2018
  • 1 reply
  • 3193 views

Hi,

I just tried to update our app in Play store made with AIR 30 and it is not able to start it, as it appears to be unlicensed. In the log I found this error:

05-14 15:36:59.274 12506-12506/? W/System.err: java.lang.SecurityException: MODE_WORLD_READABLE no longer supported

05-14 15:36:59.275 12506-12506/? W/System.err:     at android.app.ContextImpl.checkMode(ContextImpl.java:2364)

05-14 15:36:59.275 12506-12506/? W/System.err:     at android.app.ContextImpl.getSharedPreferences(ContextImpl.java:383)

05-14 15:36:59.275 12506-12506/? W/System.err:     at android.app.ContextImpl.getSharedPreferences(ContextImpl.java:378)

05-14 15:36:59.275 12506-12506/? W/System.err:     at com.adobe.air.AIRSharedPref.getConfigData(AIRSharedPref.java:113)

05-14 15:36:59.275 12506-12506/? W/System.err:     at com.adobe.air.Entrypoints.EntryMainWrapper(Native Method)

05-14 15:36:59.275 12506-12506/? W/System.err:     at com.adobe.air.Entrypoints.EntryMain(Entrypoints.java:139)

05-14 15:36:59.275 12506-12506/? W/System.err:     at com.adobe.air.AndroidActivityWrapper.LaunchApplication(AndroidActivityWrapper.java:1167)

05-14 15:36:59.275 12506-12506/? W/System.err:     at com.adobe.air.AndroidActivityWrapper.onSurfaceInitialized(AndroidActivityWrapper.java:1416)

05-14 15:36:59.275 12506-12506/? W/System.err:     at com.adobe.air.AIRWindowSurfaceView.surfaceChanged(AIRWindowSurfaceView.java:790)

05-14 15:36:59.275 12506-12506/? W/System.err:     at android.view.SurfaceView.updateWindow(SurfaceView.java:664)

05-14 15:36:59.275 12506-12506/? W/System.err:     at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:172)

05-14 15:36:59.275 12506-12506/? W/System.err:     at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:1013)

05-14 15:36:59.275 12506-12506/? W/System.err:     at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2492)

05-14 15:36:59.275 12506-12506/? W/System.err:     at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1509)

05-14 15:36:59.275 12506-12506/? W/System.err:     at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7051)

05-14 15:36:59.275 12506-12506/? W/System.err:     at android.view.Choreographer$CallbackRecord.run(Choreographer.java:927)

05-14 15:36:59.275 12506-12506/? W/System.err:     at android.view.Choreographer.doCallbacks(Choreographer.java:702)

05-14 15:36:59.275 12506-12506/? W/System.err:     at android.view.Choreographer.doFrame(Choreographer.java:638)

05-14 15:36:59.275 12506-12506/? W/System.err:     at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:913)

05-14 15:36:59.275 12506-12506/? W/System.err:     at android.os.Handler.handleCallback(Handler.java:751)

05-14 15:36:59.275 12506-12506/? W/System.err:     at android.os.Handler.dispatchMessage(Handler.java:95)

05-14 15:36:59.275 12506-12506/? W/System.err:     at android.os.Looper.loop(Looper.java:154)

When publishing AIR29 it is working as expected.

Any idea?

This topic has been closed for replies.

1 reply

Flipline
Inspiring
May 14, 2018

It looks like MODE_WORLD_READABLE was used for saving files (and possibly saving photos to camera roll), but this was deprecated and removed from the Android SDK a while back.  I'm not seeing any problems myself with AIR 30 and file saving using FileStream.writeBytes, does your app do any kind of file writing or creation using a different method?  Or are you using any older ANEs that deal with files, that maybe still used the older SDK where MODE_WORLD_READABLE was still allowed?

Oldes
OldesAuthor
Inspiring
May 14, 2018

I'm using ANE for Google Play services, which was packed using older SDK. I wonder if it's worth the risc to update it, when AIR29 is still working.

Flipline
Inspiring
May 14, 2018

Did you make any changes to android:targetSdkVersion in the app XML for the AIR 30 build?  Seems strange that AIR 29 would be okay and AIR 30 wouldn't, since they both seem to use the same Android SDK for building apps.