‘void com.google.android.gms.maps.GoogleMap.clear()’ on a null object reference

After update to Open OS (without maps) I have 2 apps that don’t work anymore. I used Logcat Extreme to get “Unable to start activity […] Attempt to invoke virtual method ‘void com.google.android.gms.maps.GoogleMap.clear()’ on a null object reference”. Now I conclude missing maps is the issue. Also google play services are mentioned in the apks manifest file. I can think of 2 possible solutions (worked out in thread Issues with Apps after update to Open OS 18.10.0 (Android 7 Nougat)):

  • I installed maps already but this did not help - looks like substitute for play service is needed - I don’t want opengapps and microG crashes Greenify and Sophos so is no option either (except somebody nows how to fix the crashes it provokes)
  • modify apk not to have maps and play services as dependency anymore - but for this I would need help as I don’t know java (also using automatic patchers did not help)
    Can anyone help me in one of the approaches (microG or modifiying the java code)? Or does anyone have a better idea?

Probably the easiest solution would ve to replace both apps with alternative ones that don’t require Play services and Maps - if there are any.

1 Like

Not a chance. One of it is a proprietary app of a drone that got rencently an update with a new app - so I hardly doubt they will make a new version for hardware that does not get sold anymore. The second is EZ-GUI - may be the authors would be willing, but then I still have the issue with the first.

Has anybody a clue with microG crashes the other apps?

A different question: What do you need Greenify and Sophos for?

Android 7’s battery saving qualities are pretty good compared to earlier Android versions.

And do you need an antivirus App for corporate compliance or to protect yourself against your own mistakes with installing stuff or clicking links or else? Because that’s about the only thing antivirus Apps on smartphones are good for. Smartphone OSes make it a point to safeguard themselves against deeper intrusion of Apps installed by the user … that goes for deeper intrusion by antivirus Apps, too, so they aren’t allowed to do much.
Here’s an article.

A good question actually:

  • Greenify: I’m not an expert, but my dream is to have may be 2 days of batter life instead of just 1 or 0.5 days. I am old and have experienced time where phone batteries lived for up to 1 week… :wink:
  • Sophos: As I use to side-load apk and other stores (e.g. aptoide) I thought that having an additional barrier of security would be useful.
    … so I don’t need these apps you’re right (but having a replacement in functionality would be nice). Any proposal or recommendations?

(ps.: It’s a pity these devices get more expensive from year to year, but still do not work properly yet… don’t know whether products like these could have be sold in the 80ies at all… imagine a fork you have to update and fix all the time… oh no I still have the 3 spike fork this update won’t work - so I cannot eat my spaghetti today … may be tomorrow. To make it clear I do talk about smart phones in general - not fairphone - this is a fork that allows to add spikes at least… ;))

I’m using greenify on LOS15.1, and in my experience it still helps an bit. Even, as said, nougat is quite good already… I’m using the appbrain ad detector, for quantifying the app just downloaded (ad networks built in, or social sdks: Facebook’s is notorious. I already wrote to a few app maintainers as Facebook wasn’t mentioned in their privacy document, and they will remove it)

Interesting thanks for the info!

Strangeness continues… meanwhile I gave it another try and installed microG (also not a trivial task). Now one of my apps run (using maps) but maps itself does not run. Ideas?

Also EZ-GUI still does not install, anyone here that can explain to me why a manifest file like the following installs on fairphone os but not on fairphone open os:

<?xml version="1.0" encoding="utf-8" standalone="no"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.ezio.multiwii" platformBuildVersionCode="25" platformBuildVersionName="7.1.1">
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" android:required="false"/>
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" android:required="false"/>
    <uses-permission android:name="android.permission.BLUETOOTH" android:required="false"/>
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" android:required="false"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" android:required="false"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" android:required="false"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" android:required="false"/>
    <uses-permission android:name="android.permission.VIBRATE" android:required="false"/>
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
    <permission android:name="com.ezio.multiwii.permission.MAPS_RECEIVE" android:protectionLevel="signature"/>
    <uses-permission android:name="com.ezio.multiwii.permission.MAPS_RECEIVE"/>
    <uses-feature android:glEsVersion="0x00020000" android:required="true"/>
    <uses-feature android:name="android.hardware.bluetooth" android:required="false"/>
    <uses-feature android:name="android.hardware.location.gps" android:required="false"/>
    <uses-feature android:name="android.hardware.screen.landscape" android:required="false"/>
    <uses-feature android:name="android.hardware.usb.host" android:required="false"/>
    <uses-feature android:name="android.hardware.bluetooth_le" android:required="false"/>
    <uses-permission android:name="android.permission.WAKE_LOCK"/>
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>
    <permission android:name="com.ezio.multiwii.permission.C2D_MESSAGE" android:protectionLevel="signature"/>
    <uses-permission android:name="com.ezio.multiwii.permission.C2D_MESSAGE"/>
    <meta-data android:name="android.support.VERSION" android:value="25.3.1"/>
    <uses-feature android:name="android.hardware.wifi" android:required="false"/>
    <uses-feature android:name="android.hardware.sensor.accelerometer" android:required="false"/>
    <uses-feature android:name="android.hardware.location" android:required="false"/>
    <uses-feature android:name="android.hardware.telephony" android:required="false"/>
    <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name2" android:name="com.ezio.multiwii.app.App" android:supportsRtl="true" android:theme="@style/LTheme">
        <uses-library android:name="com.google.android.maps"/>
        <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>
        <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="AIzaSyDt7krGYo5jP5oG7GNzLfNqiGkl0xmI7Tk"/>
        <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>
        <meta-data android:name="io.fabric.ApiKey" android:value="d2ac0d9322ed1b257b9ff4e2fc29aab67a28312f"/>
        <activity android:configChanges="orientation|screenSize" android:label="@string/app_name2" android:name="com.ezio.multiwii.ezgui.main.MainEZGUIActivity" android:screenOrientation="unspecified">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <activity android:name="com.ezio.multiwii.config.DeviceListActivity"/>
        <activity android:name="com.ezio.multiwii.ezgui.radio.RadioActivity" android:screenOrientation="unspecified"/>
        <activity android:configChanges="orientation|screenSize" android:name="com.ezio.multiwii.ezgui.dashboard.Dashboard2Activity" android:screenOrientation="sensorLandscape" android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"/>
        <activity android:configChanges="orientation|screenSize" android:name="com.ezio.multiwii.config.ConfigActivity" android:screenOrientation="unspecified"/>
        <activity android:configChanges="orientation|screenSize" android:name="com.ezio.multiwii.ezgui.log.LogActivity" android:screenOrientation="unspecified"/>
        <activity android:configChanges="orientation|screenSize" android:name="com.ezio.multiwii.ezgui.gps.GPSActivity" android:screenOrientation="unspecified"/>
        <activity android:configChanges="orientation|screenSize" android:name="com.ezio.multiwii.ezgui.motors.MotorsActivity" android:screenOrientation="unspecified"/>
        <activity android:configChanges="orientation|screenSize" android:name="com.ezio.multiwii.ezgui.aux_pid.PIDActivity" android:screenOrientation="unspecified"/>
        <activity android:configChanges="orientation|screenSize" android:name="com.ezio.multiwii.ezgui.cleanflight.PIDActivityCleanflight" android:screenOrientation="unspecified"/>
        <activity android:configChanges="orientation|screenSize" android:name="com.ezio.multiwii.ezgui.other.CalibrationActivity" android:screenOrientation="unspecified"/>
        <activity android:name="com.ezio.multiwii.ezgui.advanced.ControlActivity" android:screenOrientation="landscape" android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"/>
        <activity android:configChanges="orientation|screenSize" android:name="com.ezio.multiwii.ezgui.advanced.AdvancedActivity" android:screenOrientation="unspecified"/>
        <activity android:configChanges="orientation|screenSize" android:name="com.ezio.multiwii.raw.DevOptionsActivity" android:screenOrientation="unspecified"/>
        <activity android:configChanges="orientation|screenSize" android:name="com.ezio.multiwii.ezgui.other.InfoActivity" android:screenOrientation="unspecified"/>
        <activity android:name="com.ezio.multiwii.ezgui.dashboard.dashboard3.Dashboard3Activity" android:screenOrientation="fullSensor"/>
        <activity android:configChanges="orientation|screenSize" android:name="com.ezio.multiwii.ezgui.aux_pid.ServosActivity"/>
        <activity android:configChanges="orientation|screenSize" android:name="com.ezio.multiwii.ezgui.other.MiscActivity"/>
        <activity android:configChanges="orientation|screenSize" android:name="com.ezio.multiwii.ezgui.advanced.AUXControlActivity"/>
        <activity android:configChanges="orientation|screenSize" android:name="com.ezio.multiwii.raw.CLIActivity" android:windowSoftInputMode="adjustResize|stateHidden"/>
        <activity android:configChanges="orientation|screenSize" android:name="com.ezio.multiwii.ezgui.dr3radio.DR3RadioActivity" android:windowSoftInputMode="adjustResize|stateHidden"/>
        <activity android:configChanges="orientation|screenSize" android:name="com.ezio.multiwii.ezgui.nav.NavActivity"/>
        <activity android:name="com.ezio.multiwii.ezgui.nav.WPEditorActivity" android:theme="@android:style/Theme.Dialog"/>
        <activity android:name="com.ezio.multiwii.helpers.FilePickerActivity"/>
        <activity android:name="com.ezio.multiwii.helpers.UCActivity"/>
        <activity android:configChanges="orientation|screenSize" android:name="com.ezio.multiwii.ezgui.nav.NavSettingsActivity"/>
        <activity android:configChanges="orientation|screenSize" android:name="com.ezio.multiwii.ezgui.other.TrimsActivity"/>
        <activity android:configChanges="orientation|screenSize" android:name="com.ezio.multiwii.ezgui.aux_pid.AUXActivityNEW"/>
        <activity android:name="com.ezio.multiwii.ezgui.other.sim.SimActivity" android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"/>
        <activity android:configChanges="orientation|screenSize" android:name="com.ezio.multiwii.ezgui.dr3radio.dr3Settings"/>
        <activity android:name="com.ezio.multiwii.ezgui.advanced.ModelControlActivity" android:screenOrientation="portrait"/>
        <activity android:name="com.ezio.multiwii.ezgui.advanced.ModelControlSettingsActivity"/>
        <activity android:configChanges="orientation|screenSize" android:name="com.ezio.multiwii.ezgui.aux_pid.PIDLiveActivity"/>
        <activity android:configChanges="orientation|screenSize" android:name="com.ezio.multiwii.ezgui.messageSystem.MessageSystemActivity"/>
        <activity android:name="com.ezio.multiwii.ezgui.checklist.CheckListActivity"/>
        <activity android:name="com.ezio.multiwii.ezgui.checklist.CheckListSettings"/>
        <activity android:name="com.ezio.multiwii.ezgui.cleanflight.CleanflightConfigActivity"/>
        <activity android:name="com.ezio.multiwii.ezgui.cleanflight.BlackBoxActivity"/>
        <activity android:name="com.ezio.multiwii.ezgui.graph.GraphsActivityNew"/>
        <activity android:label="@string/title_activity_storm32_controll" android:name="com.ezio.multiwii.ezgui.advanced.storm32.storm32Control"/>
        <activity android:name="com.ezio.multiwii.ezgui.messageSystem.MessageSystemMessageViewActivity"/>
        <activity android:name="com.ezio.multiwii.ezgui.map.MapActivityNew"/>
        <activity android:name="com.ezio.multiwii.ezgui.cleanflight.Config2Activity"/>
        <activity android:name="com.ezio.multiwii.ezgui.dashboard.Dashboard1Activity"/>
        <activity android:name="com.ezio.multiwii.ezgui.cleanflight.modes.ModesActivity"/>
        <activity android:name="com.ezio.multiwii.ezgui.cleanflight.modes.ModesEditorActivity"/>
        <activity android:name="com.ezio.multiwii.ezgui.cleanflight.serials.SerialConfigActivity"/>
        <activity android:name="com.ezio.multiwii.ezgui.cleanflight.serials.SerialEditorActivity"/>
        <activity android:name="com.ezio.multiwii.app.settings.ProfileSelectorActivity"/>
        <activity android:name="com.ezio.multiwii.helpers.AirMapMap.AirMapViewActivity"/>
        <activity android:name="com.ezio.multiwii.app.ConnectionsSettingsActivity"/>
        <activity android:name="com.ezio.multiwii.app.BluetoothScanActivity"/>
        <activity android:configChanges="orientation|screenSize" android:name="com.ezio.multiwii.shared.ConfigurationActivity"/>
        <activity android:configChanges="orientation|screenSize" android:name="com.ezio.multiwii.shared.PortsActivity"/>
        <activity android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize|smallestScreenSize|uiMode" android:name="com.google.android.gms.ads.AdActivity" android:theme="@android:style/Theme.Translucent"/>
        <activity android:name="com.google.android.gms.ads.purchase.InAppPurchaseActivity" android:theme="@style/Theme.IAPTheme"/>
        <receiver android:enabled="true" android:exported="false" android:name="com.google.android.gms.measurement.AppMeasurementReceiver"/>
        <receiver android:enabled="true" android:name="com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver" android:permission="android.permission.INSTALL_PACKAGES">
            <intent-filter>
                <action android:name="com.android.vending.INSTALL_REFERRER"/>
            </intent-filter>
        </receiver>
        <service android:enabled="true" android:exported="false" android:name="com.google.android.gms.measurement.AppMeasurementService"/>
        <receiver android:exported="true" android:name="com.google.firebase.iid.FirebaseInstanceIdReceiver" android:permission="com.google.android.c2dm.permission.SEND">
            <intent-filter>
                <action android:name="com.google.android.c2dm.intent.RECEIVE"/>
                <action android:name="com.google.android.c2dm.intent.REGISTRATION"/>
                <category android:name="com.ezio.multiwii"/>
            </intent-filter>
        </receiver>
        <receiver android:exported="false" android:name="com.google.firebase.iid.FirebaseInstanceIdInternalReceiver"/>
        <service android:exported="true" android:name="com.google.firebase.iid.FirebaseInstanceIdService">
            <intent-filter android:priority="-500">
                <action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
            </intent-filter>
        </service>
        <provider android:authorities="com.ezio.multiwii.firebaseinitprovider" android:exported="false" android:initOrder="100" android:name="com.google.firebase.provider.FirebaseInitProvider"/>
        <activity android:exported="false" android:name="com.google.android.gms.common.api.GoogleApiActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
        <service android:name="org.eclipse.paho.android.service.MqttService"/>
        <service android:name="com.mapbox.mapboxsdk.telemetry.TelemetryService"/>
        <activity android:label="@string/airmap_title_activity_create_flight" android:launchMode="singleTop" android:name="com.airmap.airmapsdk.ui.activities.CreateFlightActivity" android:screenOrientation="portrait" android:theme="@style/AppTheme.NoActionBar" android:windowSoftInputMode="adjustResize"/>
        <activity android:label="@string/airmap_title_activity_decision_flow" android:launchMode="singleTop" android:name="com.airmap.airmapsdk.ui.activities.DecisionFlowActivity" android:parentActivityName="com.airmap.airmapsdk.ui.activities.CreateFlightActivity" android:screenOrientation="portrait" android:theme="@style/AppTheme.NoActionBar">
            <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".ui.activities.CreateFlightActivity"/>
        </activity>
        <activity android:label="@string/airmap_select_a_permit" android:launchMode="singleTop" android:name="com.airmap.airmapsdk.ui.activities.PermitSelectionActivity" android:parentActivityName="com.airmap.airmapsdk.ui.activities.CreateFlightActivity" android:screenOrientation="portrait" android:theme="@style/AppTheme.NoActionBar">
            <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".ui.activities.CreateFlightActivity"/>
        </activity>
        <activity android:label="@string/airmap_title_activity_custom_properties" android:launchMode="singleTop" android:name="com.airmap.airmapsdk.ui.activities.CustomPropertiesActivity" android:parentActivityName="com.airmap.airmapsdk.ui.activities.PermitSelectionActivity" android:screenOrientation="portrait" android:theme="@style/AppTheme.NoActionBar">
            <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".ui.activities.PermitSelectionActivity"/>
        </activity>
        <activity android:label="@string/airmap_title_activity_profile" android:launchMode="singleTop" android:name="com.airmap.airmapsdk.ui.activities.ProfileActivity" android:screenOrientation="portrait" android:theme="@style/AppTheme.NoActionBar" android:windowSoftInputMode="stateAlwaysHidden"/>
        <activity android:label="@string/airmap_title_activity_profile" android:launchMode="singleTop" android:name="com.airmap.airmapsdk.ui.activities.PilotProfileActivity" android:screenOrientation="portrait" android:theme="@style/AppTheme.NoActionBar" android:windowSoftInputMode="stateAlwaysHidden"/>
        <activity android:label="@string/airmap_title_activity_create_aircraft" android:launchMode="singleTop" android:name="com.airmap.airmapsdk.ui.activities.CreateEditAircraftActivity" android:screenOrientation="portrait" android:theme="@style/AppTheme.NoActionBar"/>
        <activity android:label="@string/airmap_title_activity_login" android:launchMode="singleTop" android:name="com.airmap.airmapsdk.ui.activities.LoginActivity" android:theme="@style/AppTheme.NoActionBar"/>
        <activity android:launchMode="singleTop" android:name="com.airmap.airmapsdk.ui.activities.WebActivity" android:screenOrientation="portrait" android:theme="@style/AppTheme.NoActionBar"/>
        <activity android:launchMode="singleTop" android:name="com.airmap.airmapsdk.ui.activities.WelcomeActivity" android:screenOrientation="portrait" android:theme="@style/AppTheme.NoActionBar"/>
        <activity android:launchMode="singleTop" android:name="com.airmap.airmapsdk.ui.activities.WelcomeDetailsActivity" android:screenOrientation="portrait" android:theme="@style/AppTheme.NoActionBar"/>
        <meta-data android:name="com.bumptech.glide.integration.okhttp3.OkHttpGlideModule" android:value="GlideModule"/>
    </application>
</manifest>

What is the point that makes it beeing incompatible with my device? (with is actually wrong it is incompatible with the os)

Phone batteries still last a week and more … in feature phones, just like they did back then when we actually used feature phones :slight_smile: .
You are using a smartphone now. If you can get the battery to last a day of normal usage and charge it over night, you’re having a normal smartphone experience. With the Fairphone 2’s battery, having a powerbank with you can’t hurt just in case.

I personally get through the day easily with moderate use, and I can approximate I would not be getting through the day with constant use, but I saw battery life improve with Android 7 (LineageOS 14.1 back then), and improve again with Android 8 (LineageOS 15.1 currently).

I never had an antivirus App on any of my smartphones, so I’m no help with that, sorry.

maps, Greenify and Sophos work if I am in airplane mode (otherwise they crash). Can somebody explain to me with that is the case?

OK - some advance - I can answer some of my questions now; maps, Greenify and Sophos do all work IF they get installed AFTER microG. So uninstalling and reinstalling helped.

Still the open question why EZ-GUI Ground Station is compatible with my device if it runs fairphone os but not if it runs fairphone open os.

FINAL RESULT
I put the new detailed question into a new dedicated thread under App not compatible with device after update to Fairphone Open OS.

Thanks to all for your support!