Copy link to clipboard
Copied
We've just discovered that all apps made with AIR crash immediately after launch in Android Q Beta.
We've opened this bug: Tracker AIR-4198820
This is very serious as it affects all apps, including existing ones from Play Store. They all install fine, but crash at launch each and every time. We've created a simple Hello World (Test.apk - Google Drive ) which shows the same crash. It's compiled with AIR SDK 32, Captive Runtime.
In the logs we can see "java.lang.SecurityException: MODE_WORLD_READABLE no longer supported" originating in libCore.so. Here is a relevant section from the stack trace:
04-05 15:15:45.186 20701 20701 W x.tropictrouble: type=1400 audit(0.0:1370): avc: denied { execmod } for path="/data/app/air.com.qublix.tropictrouble--0Aw4mMbpjDczNwHpL5dEw==/lib/arm/libCore.so" dev="dm-6" ino=10917 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:apk_data_file:s0 tclass=file permissive=0
04-05 15:15:45.255 20701 20701 W System.err: java.lang.SecurityException: MODE_WORLD_READABLE no longer supported
04-05 15:15:45.255 20701 20701 W System.err: at android.app.ContextImpl.checkMode(ContextImpl.java:2608)
04-05 15:15:45.255 20701 20701 W System.err: at android.app.ContextImpl.getSharedPreferences(ContextImpl.java:445)
04-05 15:15:45.255 20701 20701 W System.err: at android.app.ContextImpl.getSharedPreferences(ContextImpl.java:435)
04-05 15:15:45.255 20701 20701 W System.err: at com.adobe.air.AIRSharedPref.getConfigData(AIRSharedPref.java:113)
04-05 15:15:45.255 20701 20701 W System.err: at com.adobe.air.Entrypoints.EntryMainWrapper(Native Method)
04-05 15:15:45.255 20701 20701 W System.err: at com.adobe.air.Entrypoints.EntryMain(Entrypoints.java:139)
04-05 15:15:45.255 20701 20701 W System.err: at com.adobe.air.AndroidActivityWrapper.LaunchApplication(AndroidActivityWrapper.java:1167)
04-05 15:15:45.255 20701 20701 W System.err: at com.adobe.air.AndroidActivityWrapper.onSurfaceInitialized(AndroidActivityWrapper.java:1416)
04-05 15:15:45.255 20701 20701 W System.err: at com.adobe.air.AIRWindowSurfaceView.surfaceChanged(AIRWindowSurfaceView.java:792)
04-05 15:15:45.255 20701 20701 W System.err: at android.view.SurfaceView.updateSurface(SurfaceView.java:737)
....
04-05 15:15:45.256 20701 20701 F libc : Fatal signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0xbf767000 in tid 20701 (x.tropictrouble), pid 20701 (x.tropictrouble)
04-05 15:15:45.281 20740 20740 I crash_dump32: obtaining output fd from tombstoned, type: kDebuggerdTombstone
04-05 15:15:45.282 1019 1019 I /system/bin/tombstoned: received crash request for pid 20701
04-05 15:15:45.282 20740 20740 I crash_dump32: performing dump of process 20701 (target tid = 20701)
04-05 15:15:45.289 20740 20740 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
If not fixed in time this is a total show-stopper for Adobe AIR on Android, next to the other pending show-stopper Tracker AIR-4198789
Hopefully Adobe can do a quick-fix on this one.
Any ideas for a workaround?
Copy link to clipboard
Copied
Android Q (as far as i know) is not officially out yet, google knows it has lots of bugs, and android Q is builded from ground up,
maybe adobe also need to be involved in this fix, but mostly let google do their work..
Copy link to clipboard
Copied
Hi Gogetax
Yes you are correct that Q comes out on pixel only in August, however this may not be a bug on Android side. It seems Air is accessing a permission which was deprecated years back so there is a good chance that Android will not do anything about this.
Copy link to clipboard
Copied
agreed.
dont forget Adobe Air using emulator to run our code,
so if something needs to be changed, its that emulator that comes with latest Adobe Air Updates.
Copy link to clipboard
Copied
This is definitely a problem on Adobe's side, with AIR using deprecated features of Android -- they were previously deprecated but still technically allowed in earlier versions, but with Q, Google is enforcing that they can't be used anymore.
Some other mentions in the bug tracker here:
Tracker: Android app crash on launch because of "text relocations"
Copy link to clipboard
Copied
btw, have u compiled ur projects on latest Air version? i think its v.32 it might fix ur problems.
Copy link to clipboard
Copied
This problem is present in apps made with any version of AIR, they will all fail and crash on Android Q. It hasn't been addressed by Adobe yet.
Copy link to clipboard
Copied
Maybe this is why Adobe didn't release a new version in 2019. Maybe they are working to rewrite old parts of AIR VM for Android. Or maybe they don't.
Copy link to clipboard
Copied
I hope that's the case, though with the lack of communication it's hard to ever tell what they're working on. In the release notes for the newest 32.0.0.116 update they at least mention it as a "Known Issue" that apps aren't compatible with Android Q.
Copy link to clipboard
Copied
I also tested AIR apps on Android 10 beta 3 but didn't notice any difference from previous Android versions. Yes, apps throw MODE_WORLD_READABLE exception, but this happens with Android 8 and 9 too. So nothing changed, this exception doesn't stop app from launching.
Copy link to clipboard
Copied
Thanks for the update, that's good news! I had heard Google actually rolled back a lot of their changes in Android Q Beta 2 and 3 as long as you don't target Android Q, but didn't have any devices with it myself to test this on.
Copy link to clipboard
Copied
See also: All AIR apps crash on Android Q !
Good news! Have got a reply from Google:
"Yes, from beta 3 the restriction applies only to apps targeting API level 29.
I agree we should update the docs to say that."
So, looks like we're safe with Android Q devices as long as we target API level 28 or below .