REPEAT: Fuse 1.9, Android 8 failure, cannot run app


#1

As in my post from 12 days ago, I am unable to run the app on API 26 or greater (runs fine from API 16 - 25).

I can see a report from Sept 2017 of a similar issue that was resolved - I see no other issues regarding Android 8 compatibility.

Environment: Fuse 1.9
Device: Sony Xperia XZ1 Compact API level 26

I would appreciate some response on this as this is holding everything up.

Here is the error output when I try to run the app:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.oskk.hoteloxy/com.oskk.hoteloxy.hoteloxy}: java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation

FATAL EXCEPTION: main

Process: com.oskk.hoteloxy, PID: 10005
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.oskk.hoteloxy/com.oskk.hoteloxy.hoteloxy}: java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2817)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
Caused by: java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation
at android.app.Activity.onCreate(Activity.java:986)
at android.support.v4.app.BaseFragmentActivityDonut.onCreate(BaseFragmentActivityDonut.java:39)
at android.support.v4.app.FragmentActivity.onCreate(FragmentActivity.java:297)
at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:85)
at com.oskk.hoteloxy.hoteloxy.onCreate(hoteloxy.java:53)
at android.app.Activity.performCreate(Activity.java:6975)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1213)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2770)
… 9 more


#2

I wonder if it’s the same problem as this:

I tested a API 26 targeted version with Android 8.1 and it worked, so I forgot about this issue, but I wonder if the problem still persists on Android 8.0?


#3

Hi Matt,

Thank you for your response.

Yes, indeed. The app does run on API 27 and 28. It is just API 26 that fails (my original post stated that it fails on 26 and above which is incorrect).

This fails on 26, works on 27 & 28 (Pixel 2, Firebase test lab):

  "Android": {
 "SDK": {
		"BuildToolsVersion": "27.0.3",
		"CompileVersion": 26,
		"MinVersion": 19,
		"TargetVersion": 26
	}

}

This fails on 26, works on 27 & 28 (Pixel 2, Firebase test lab):

  "Android": {
 "SDK": {
		"BuildToolsVersion": "27.0.3",
		"CompileVersion": 27,
		"MinVersion": 19,
		"TargetVersion": 27
	}

}

The error messages are quite different but behaviour is the same as the bug report you posted.

I see no replies to your original post of 19 days ago - are you aware of any solution?

Regards,
ac


#4

Hello! I didn’t have time to look into the issue in depth so I forgot about it. I guess (and hope) a lot of users have the chance to update from 8.0 to 8.1 and skip this issue. There are a lot of suggestions to tackle this internally, but I’m waiting for an update to the Fuselibs, since I don’t have the opportunity to test this in API 26.


#5

Thank you for the update. Much appreciated.

Regards,
ac


#6

Hi,

Is there any update on a fix for this issue? It’s kind of critical as I can’t roll out some changes for either iOS or Android at the moment.

Regards,
ac


#7

@acoad @Matti_Tihverainen Have you guys tried to isolate the module that’s causing the issue? Is it a 3rd party module that’s breaking that needs an update? Does a “vanilla app” run on 26?


#8

…if you can narrow down the issue, then maybe a fix lies in here (the mapview one was my issue): https://github.com/fuse-open/fuselibs/pull/1197/files


#9

Have you guys tried to isolate the module that’s causing the issue?

The only third-party module that I am using is the QR Reader https://github.com/zean00/fuse-qreader

I am using foreign code to access push notifications for iOS. For Android, there is no code there yet, just placeholder stubs.

Everything else is plain vanilla Fuse

ac


#10

Is this issue the same as the one that @Matti_Tihverainen reported here:

Or a different one?

ac


#11

Ok @acoad @Matti_Tihverainen, here are my findings, hope it works for you too:


#12

Thank you! We’re going public with an app next month so this is gold!


#13

OK. Thank you for your work on this but I don’t fully understand your note 2 and project settings:

  • “You won’t be able to compile for older android versions once you do this…”
  • project settings:
    “Android”: {
    “SDK”: {
    “MinVersion”: 26
    }
    }

I need to support API levels 19 through 28. Does this approach give me backwards compatibility from 19 onwards?

Regards,
ac


#14

@Matti_Tihverainen you’re welcome, go team! :muscle:

@acoad Sorry, I forgot to mention that this warning came up when I tried to use the older build tools…

"SDK": {
      "BuildToolsVersion": "23.0.1",
      "CompileVersion": 19,
      "MinVersion": 19,
      "TargetVersion": 19
    },

@Uldis @kusma @edA-qa_mort-ora-y @Baggers @LuisRodriguezLD @Ahmed_Diab is there a way to select the gradle version?


#15

I see. It’s the older build tools that is the issue. I don’t think that is a problem for me.
Here are my current settings. Will your solution work for this?

     "SDK": {
		"BuildToolsVersion": "27.0.3",
		"CompileVersion": 27,
		"MinVersion": 19,
		"TargetVersion": 27
	}

}

Regards,
ac


#16

Ok guys, after much testing here are my findings:

Fuse 1.9: After fresh install, and NDK16b replacement, I’m able to build and run with these settings which I tested on a low Marshmallow(23), a mid Marshmallow(23) and a low Oreo(26):

"SDK": {
		"BuildToolsVersion": "27.0.3",
		"CompileVersion": 27,
		"MinVersion": 19,
		"TargetVersion": 27
	}

With latest Uno: had to replace with NDK16b, can only build with latest tools as it statically uses latest Gradle(4.4), my results with settings used above: low Marshmallow(23) - Built + crash, a mid Marshmallow(23) - Built + run and a low Oreo(26) - Built + run


#17

Hi,

What is the difference between a “low Marshmallow” and a “mid Marshmallow?”

Do your results mean that it runs on some API 23 devices and not others?

AC


#18

A low Marshmallow (Android 6 or API 23) is about a $35 device (its on the low end of the device spectrum) and a mid Marshmallow is about a $200 device, they’re both running Marshmallow.

The main difference is the hardware; the low end device can only install like a handful of apps, has a 3.5" display, 1.2Ghz Quad-Core, 512MB RAM, 2MP rear cam, 0.3MP front cam, 8GB onboard, 3G and 1400mAh battery (very popular device though). It crashed upon launch with the latest Uno. Not sure what’s causing it to crash as its on the same OS version as the mid and works fine on the current Fuse 1.9.

The mid hardware is a 5.1" display, 2.5Ghz Quad-core, 16MP rear cam, 2MP front cam, 16GB onboard, LTE and 2800mAh battery.


#19

OK. I understand. I don’t think users of this app will be running $35 or thereabouts devices so I should probably move ahead and set up a new environment per your prior instructions.

Do you plan to do any further work on this issue or are you done?

Regards,
ac


#20

@acoad not sure what more I can do for this issue, so nope, is there something else you want to do?