"Unknown bits set in runtime_flags: 0x8000" warning in Logcat on Android Q emulator
AndroidAndroid 10.0Android Problem Overview
I'm getting this warning as the first line from my app in logcat, and I have no idea what it refers to and how I should go about fixing it. Google doesn't offer much info on this (in fact, none at all). Please advise. What kind of flags might this be about? Is there a way to find out what the specified bit might refer to (or, perhaps, has been referring to on older Android versions but has become invalid in Android 10)? There is no such line in the log on Android 9 or earlier versions.
Android Solutions
Solution 1 - Android
I bring a stone to the building. I retrace the code for the error message. It is at line 345 in the C ++ file dalvik_system_ZygoteHooks.cc At a minimum, if (runtime_flags! = 0) then the error message will be printed. 0x8000 also corresponds to the USE_APP_IMAGE_STARTUP_CACHE flag (see line 157). The test on the USE_APP_IMAGE_STARTUP_CACHE flag is done on line 340. Normally, runtime_flags should no longer have a raised bit for USE_APP_IMAGE_STARTUP_CACHE but this does not seem to be the case since the error is printed.
But in the end, the error does not seem to have an impact on the application.
Solution 2 - Android
I searched and I have some suggestion to you.
First of all take a look at this links:
difference between constants 32768 and 0x8000
Now this links may be can help you :
Android Fragment no view found for ID
and last thing is:
Uninstall App from emulator and Run project Again.
First Edit:
I Searched again and i think we are close to answer, so please check this links and say what do you think? are they Irrelevant? or we are on the right way.
...
org.robolectric.res.android
Class AConfiguration
public static final int ACONFIGURATION_SCREEN_ROUND
...
\sdk\ndk-bundle\sysroot\usr\include\android
* Bit mask for
* <a href="@dacRoot/guide/topics/resources/providing-resources.html#LayoutDirectionQualifier">layout direction</a>
* configuration.
ACONFIGURATION_LAYOUTDIR = 0x4000,
ACONFIGURATION_SCREEN_ROUND = 0x8000
...
https://developer.android.com/ndk/reference/group/configuration
Constant : ACONFIGURATION_SCREEN_ROUND
->
Constant android_ndk_sys::ACONFIGURATION_SCREEN_ROUND
pub const ACONFIGURATION_SCREEN_ROUND: _bindgen_ty_3
->
Type Definition android_ndk_sys::_bindgen_ty_3
type _bindgen_ty_3 = u32;
...
ACAMERA_VENDOR = 0x8000
ACAMERA_DISTORTION_CORRECTION << 16,
ACAMERA_HEIC_START = ACAMERA_HEIC << 16,
ACAMERA_HEIC_INFO_START = ACAMERA_HEIC_INFO << 16,
ACAMERA_VENDOR_START = ACAMERA_VENDOR << 16
Solution 3 - Android
In my case at least happens because The fragment tried to update the view (or something like this) when a different activity was already running so just
@Override
public void onStop() {
super.onStop();
getActivity().finish();
}
inside the fragment solved this error
Solution 4 - Android
Not sure if this will help anyone else, but I found I only get this peculiar error only on an Emulator! so maybe a bug with Emulator 路♂️ .
Anyway, I suggest testing on a real device as this is the second time this sort of issues wasting so much of my time to investigate, I won't trust the Emulators anymore especially when they do not give a clear error log.