[Android Q&A, Help & Troubleshooting] fone_fanatic:
I have a 7.85" DJI Crystal Sky which runs android 5.1.1. I'm trying to get DroneDeploy running on it. DroneDeploy does not support the device because the stock firmware is missing a lot of android/google services. I rooted it and flashed gapps and sideloaded the APK. With the pico gapps the app would start, show the welcome screen, I'd tap next and then it would go to a white screen and nothing. So i flashed the full gapps and now it just crashes right away. Here's the info form logcat:

E/AndroidRuntime(10282): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.dronedeploy.beta/com.dronedeploy.beta.ui.MainActivity}: java.lang.RuntimeException: Failed to create webview.
E/AndroidRuntime(10282):	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2347)
E/AndroidRuntime(10282):	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2409)
E/AndroidRuntime(10282):	at android.app.ActivityThread.access$800(ActivityThread.java:151)
E/AndroidRuntime(10282):	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1321)
E/AndroidRuntime(10282):	at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime(10282):	at android.os.Looper.loop(Looper.java:135)
E/AndroidRuntime(10282):	at android.app.ActivityThread.main(ActivityThread.java:5282)
E/AndroidRuntime(10282):	at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(10282):	at java.lang.reflect.Method.invoke(Method.java:372)
E/AndroidRuntime(10282):	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:966)
E/AndroidRuntime(10282):	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:761)
E/AndroidRuntime(10282): Caused by: java.lang.RuntimeException: Failed to create webview.
E/AndroidRuntime(10282):	at org.apache.cordova.CordovaWebViewImpl.createEngine(CordovaWebViewImpl.java:102)
E/AndroidRuntime(10282):	at org.apache.cordova.CordovaActivity.makeWebViewEngine(CordovaActivity.java:197)
E/AndroidRuntime(10282):	at org.apache.cordova.CordovaActivity.makeWebView(CordovaActivity.java:193)
E/AndroidRuntime(10282):	at org.apache.cordova.CordovaActivity.init(CordovaActivity.java:142)
E/AndroidRuntime(10282):	at com.dronedeploy.beta.ui.MainActivity.init(MainActivity.java:176)
E/AndroidRuntime(10282):	at org.apache.cordova.CordovaActivity.loadUrl(CordovaActivity.java:215)
E/AndroidRuntime(10282):	at com.dronedeploy.beta.ui.MainActivity.onCreate(MainActivity.java:129)
E/AndroidRuntime(10282):	at android.app.Activity.performCreate(Activity.java:6222)
E/AndroidRuntime(10282):	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
E/AndroidRuntime(10282):	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2297)
E/AndroidRuntime(10282):	... 10 more
E/AndroidRuntime(10282): Caused by: java.lang.reflect.InvocationTargetException
E/AndroidRuntime(10282):	at java.lang.reflect.Constructor.newInstance(Native Method)
E/AndroidRuntime(10282):	at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
E/AndroidRuntime(10282):	at org.apache.cordova.CordovaWebViewImpl.createEngine(CordovaWebViewImpl.java:100)
E/AndroidRuntime(10282):	... 19 more
E/AndroidRuntime(10282): Caused by: android.util.AndroidRuntimeException: android.content.pm.PackageManager$NameNotFoundException: com.android.webview
E/AndroidRuntime(10282):	at android.webkit.WebViewFactory.getFactoryClass(WebViewFactory.java:187)
E/AndroidRuntime(10282):	at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:122)
E/AndroidRuntime(10282):	at android.webkit.WebView.getFactory(WebView.java:2194)
E/AndroidRuntime(10282):	at android.webkit.WebView.ensureProviderCreated(WebView.java:2189)
E/AndroidRuntime(10282):	at android.webkit.WebView.setOverScrollMode(WebView.java:2248)
E/AndroidRuntime(10282):	at android.view.View.<init>(View.java:3617)
E/AndroidRuntime(10282):	at android.view.View.<init>(View.java:3711)
E/AndroidRuntime(10282):	at android.view.ViewGroup.<init>(ViewGroup.java:497)
E/AndroidRuntime(10282):	at android.widget.AbsoluteLayout.<init>(AbsoluteLayout.java:55)
E/AndroidRuntime(10282):	at android.webkit.WebView.<init>(WebView.java:544)
E/AndroidRuntime(10282):	at android.webkit.WebView.<init>(WebView.java:489)
E/AndroidRuntime(10282):	at android.webkit.WebView.<init>(WebView.java:472)
E/AndroidRuntime(10282):	at android.webkit.WebView.<init>(WebView.java:459)
E/AndroidRuntime(10282):	at org.apache.cordova.engine.SystemWebView.<init>(SystemWebView.java:47)
E/AndroidRuntime(10282):	at org.apache.cordova.engine.SystemWebView.<init>(SystemWebView.java:43)
E/AndroidRuntime(10282):	at org.apache.cordova.engine.SystemWebViewEngine.<init>(SystemWebViewEngine.java:75)
E/AndroidRuntime(10282):	... 22 more
E/AndroidRuntime(10282): Caused by: android.content.pm.PackageManager$NameNotFoundException: com.android.webview
E/AndroidRuntime(10282):	at android.app.ApplicationPackageManager.getPackageInfo(ApplicationPackageManager.java:115)
E/AndroidRuntime(10282):	at android.webkit.WebViewFactory.getFactoryClass(WebViewFactory.java:159)
E/AndroidRuntime(10282):	... 37 more

From my limited knowledge it's got something to do with webview. I googled it and found a post saying that error is due to the ACCESS_WIFI_STATE permission not being granted. Here's the dumpsys and it shows it has all permissions granted:

Activity Resolver Table:
Schemes:
com.dronedeploy.beta:
29789616 com.dronedeploy.beta/.ui.MainActivity (2 filters)
dd:
29789616 com.dronedeploy.beta/.ui.MainActivity
dronedeploy:
29789616 com.dronedeploy.beta/.ui.MainActivity

Non-Data Actions:
android.intent.action.MAIN:
29789616 com.dronedeploy.beta/.ui.MainActivity
android.hardware.usb.action.USB_ACCESSORY_ATTACHED:
1116cb97 com.dronedeploy.beta/dji.sdk.sdkmanager.DJIAoaControllerActivity

Receiver Resolver Table:
Non-Data Actions:
dji.go3.STARTUP:
686e184 com.dronedeploy.beta/dji.logic.receiver.DJIPilotStartupReceiver
com.facebook.sdk.ACTION_CURRENT_ACCESS_TOKEN_CHANGED:
103c6d6d com.dronedeploy.beta/com.facebook.CurrentAccessTokenExpirationBroadcastReceiver
com.android.vending.INSTALL_REFERRER:
225ffda2 com.dronedeploy.beta/io.branch.referral.InstallListener
2f728a33 com.dronedeploy.beta/com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver
com.google.android.c2dm.intent.RECEIVE:
b3f7369 com.dronedeploy.beta/com.google.firebase.iid.FirebaseInstanceIdReceiver
305291f0 com.dronedeploy.beta/com.google.android.gms.gcm.GcmReceiver
dji.go4.STARTUP:
686e184 com.dronedeploy.beta/dji.logic.receiver.DJIPilotStartupReceiver
com.google.android.c2dm.intent.REGISTRATION:
305291f0 com.dronedeploy.beta/com.google.android.gms.gcm.GcmReceiver

Service Resolver Table:
Non-Data Actions:
com.google.firebase.INSTANCE_ID_EVENT:
b6451ee com.dronedeploy.beta/com.google.firebase.iid.FirebaseInstanceIdService
com.google.android.c2dm.intent.RECEIVE:
36c1968f com.dronedeploy.beta/.gcm.DdGcmListenerService
com.google.android.gms.iid.InstanceID:
de6dd1c com.dronedeploy.beta/.gcm.DdInstanceIDListenerService

Permissions:
Permission [com.dronedeploy.beta.permission.C2D_MESSAGE] (2252dd25):
sourcePackage=com.dronedeploy.beta
uid=10097 gids=[] type=0 prot=signature
packageSetting=PackageSetting{c479efa com.dronedeploy.beta/10097}
perm=Permission{3c4b0cab com.dronedeploy.beta.permission.C2D_MESSAGE}

Registered ContentProviders:
com.dronedeploy.beta/com.facebook.marketing.internal.MarketingInitProvider:
Provider{112af08 com.dronedeploy.beta/com.facebook.marketing.internal.MarketingInitProvider}
com.dronedeploy.beta/com.google.firebase.provider.FirebaseInitProvider:
Provider{e7926a1 com.dronedeploy.beta/com.google.firebase.provider.FirebaseInitProvider}
com.dronedeploy.beta/com.facebook.internal.FacebookInitProvider:
Provider{14e0b0c6 com.dronedeploy.beta/com.facebook.internal.FacebookInitProvider}

ContentProvider Authorities:
[com.dronedeploy.beta.MarketingInitProvider]:
Provider{112af08 com.dronedeploy.beta/com.facebook.marketing.internal.MarketingInitProvider}
applicationInfo=ApplicationInfo{18abc887 com.dronedeploy.beta}
[com.dronedeploy.beta.firebaseinitprovider]:
Provider{e7926a1 com.dronedeploy.beta/com.google.firebase.provider.FirebaseInitProvider}
applicationInfo=ApplicationInfo{18abc887 com.dronedeploy.beta}
[com.dronedeploy.beta.FacebookInitProvider]:
Provider{14e0b0c6 com.dronedeploy.beta/com.facebook.internal.FacebookInitProvider}
applicationInfo=ApplicationInfo{18abc887 com.dronedeploy.beta}

Key Set Manager:
[com.dronedeploy.beta]
Signing KeySets: 110

Packages:
Package [com.dronedeploy.beta] (c479efa):
userId=10097 gids=[3002, 3001, 3003, 1028, 1015]
pkg=Package{37a7b3b4 com.dronedeploy.beta}
codePath=/data/app/com.dronedeploy.beta-1
resourcePath=/data/app/com.dronedeploy.beta-1
legacyNativeLibraryDir=/data/app/com.dronedeploy.beta-1/lib
primaryCpuAbi=armeabi-v7a
secondaryCpuAbi=null
versionCode=107177 targetSdk=24
versionName=2.76.0
splits=[base]
applicationInfo=ApplicationInfo{18abc887 com.dronedeploy.beta}
flags=[ HAS_CODE ALLOW_CLEAR_USER_DATA ]
dataDir=/data/data/com.dronedeploy.beta
supportsScreens=[small, medium, large, xlarge, resizeable, anyDensity]
usesLibraries:
com.android.future.usb.accessory
android.test.runner
usesLibraryFiles:
/system/framework/android.test.runner.jar
/system/framework/com.android.future.usb.accessory.jar
timeStamp=2020-04-20 03:13:14
firstInstallTime=2020-04-20 03:13:18
lastUpdateTime=2020-04-20 03:13:18
signatures=PackageSignatures{3c608bdd [29a71352]}
permissionsFixed=true haveGids=true installStatus=1
pkgFlags=[ HAS_CODE ALLOW_CLEAR_USER_DATA ]
User 0: installed=true hidden=false stopped=false notLaunched=false enabled=0
grantedPermissions:
android.permission.WRITE_SETTINGS
com.google.android.c2dm.permission.RECEIVE
android.permission.ACCESS_FINE_LOCATION
android.permission.USE_CREDENTIALS
com.google.android.providers.gsf.permission.READ_GSERVICES
android.permission.MANAGE_ACCOUNTS
android.permission.SYSTEM_ALERT_WINDOW
android.permission.CHANGE_NETWORK_STATE
android.permission.RECEIVE_BOOT_COMPLETED
android.permission.BLUETOOTH
android.permission.GET_TASKS
android.permission.INTERNET
android.permission.BLUETOOTH_ADMIN
android.permission.READ_EXTERNAL_STORAGE
android.permission.ACCESS_COARSE_LOCATION
android.permission.READ_PHONE_STATE
android.permission.BROADCAST_STICKY
android.permission.CHANGE_WIFI_STATE
android.permission.ACCESS_NETWORK_STATE
com.dronedeploy.beta.permission.C2D_MESSAGE
android.permission.CAMERA
android.permission.KILL_BACKGROUND_PROCESSES
android.permission.WRITE_USER_DICTIONARY
android.permission.GET_ACCOUNTS
android.permission.WRITE_EXTERNAL_STORAGE
android.permission.VIBRATE
android.permission.ACCESS_WIFI_STATE
android.permission.RECORD_AUDIO
android.permission.WAKE_LOCK

Any help would be much appreciated.

Thank you.