I've developed an ionic 1 application which runs flawlesly on my Galaxy S7 (7.0.0 - API level 24), but when I'm trying to run the same app on KitKat device (4.4.2 API level 19) I'm getting the white screen of death.
By default, ionic-cordova defines
Android target: android-26
As you can see here:
After spending a few hours on browsing the internet, first, I thought, I would be able to solve the problem by playing with configuration files (config.xml, build.json, AndroidManifest.xml) and changing android target number to 19 but it didn't help.
I'm an angular (web) developer, so I don't have any expirience with androind development, so may be I'm just don't tunderstand right how the things work.
PS: I'm using latest ionic, ionic cli and cordova versions.
PSS: I have made my development on blank ionic project without any additional plugins except this plugin:
phonegap-plugin-barcodescanner
I found the solution. To make the app running on the KitKat devices I was needed to add the following plugin:
cordova-plugin-crosswalk-webview
Related
This may seem like a crazy requirement but I'm trying to create a Cordova application which will run without issues on an Android device with version 4.2.2.
It is to run on a Clover Station, and the Android version cannot be upgraded. Currently, the entire Clover network (separate to Google Play) has all Clover Stations installed with this version of Android, so my hands are tied.
I'm having a problem communicating via Ajax with our back end, and this does not happen when testing the app on my iPad, or my iPhone, or in a browser. I don't have a more up to date Android device to test with so I'm assuming the issue is the Android Version.
I don't know enough about Cordova to know whether you can install the Android platform for a specific version of Android. Ive read countless SO questions/answers about this .. but I confess I'm a bit lost.
Any ideas?
Thanks
This may seem like a crazy requirement but I'm trying to create a Cordova application which will run without issues on an Android device with version 4.2.2.
The following link shows that basically every cordova android platform version should support devices running Android 4.2.x out of the box:
https://cordova.apache.org/docs/en/latest/guide/platforms/android/#requirements-and-support
Run the following to check which android platform version is installed:
cordova platform ls
Perhaps if it's really old, you can try to upgrade and hope for bug fixes in cordova-android to fix your issue. You can also experiment with downgrading. To do this, you can
cordova plugin save
cordova platform rm android
cordova platform add android#5.0.0
Or whatever version you want to use.
Also make sure to install the required Android API levels in your Android Studio.
I have a sencha touch app made for cross platform and its working fine with any device but when I tested with One Plus 5 with Oreo version then it is showing just a blank white screen on launching... nothing else. Does anyone have any idea whats happening here. In the logs I am getting the following
Rejecting re-init on previously-failed class java.lang.Class<com.android.webview.chromium.hb>: java.lang.NoClassDefFoundError:
Failed resolution of: Landroid/webkit/SafeBrowsingResponse;
03-12 15:17:55.922 1192-1192/sg.gov.acra.ACRAOnTheGo I/zygote64:
at void com.android.webview.chromium.WebViewChromium.init(java.util.Map, boolean(WebViewChromium.java:42)
I think we are using cordova plugins to support web view. Also oreo emulator is working good for the app. I need to know what is the cause of this issue.
I was just going through my project and found that I am using cordova version 4.3 and latest cordova is 6 something. Main thing is currently cordova is not giving support to Android 8.0 Oreo or maybe full support is not there atleast not for my cordova version 4.3. Below is the link of cordova official website with the supported corresponding version to android.
https://cordova.apache.org/docs/en/latest/guide/platforms/android/
I added
mobile chrome
in supported browsers along with other browser names in
android > assets > app.js
and then the build that was created was working fine on oreo 8. This is currently a temporary solution as I have to add this line again when I build using sencha but it is right now working for me.
I am trying to run my ionic app on an android device using SDK 15 (4.0.4). It installs, but when it opens there is a black screen and then it crashes.
The app runs in the emulator, so I think it has something to do with the fact that it is using an old OS. I have read in two places that it isn't possible to build/run on a phone lower than SDK 21. Is this true?
I am using:
4.0.4/SDK 15.
Samsung Galaxy Note I717
Ionic Framework
According to the official ionic blog ionic does only support Android versions >= 4.1 so your app crashing on 4.0.4 is quite expected.
The cordova based app works fine on android v.5.x, but there are some issues with lower versions.
The build process works fine and I can execute the app on my android test device (4.1.2) and the first view looks completely different.
Is this a settings or coding problem?
I'm using cordova 5.0.0
Thanks for any suggestions!
Android 4.1.2 uses a very old browser (WebKit 534.30) so it is not surprising that you are seeing issues between it and when Chrome became the default embedded browser (Android 5.0).
You can fix this with the Crosswalk plugin which turns a recent version Chrome (what they ship Crosswalk with) into the WebView used by Cordova at the expense of 15-25Megs of extra APK (I haven't used it in a while, but it used to be about 24Megs they claim it is now down to 15). If you want you can carefully craft your html and JavaScript to be backwards compatible (spend a lot of time with CanIUse and turn on the various Android Browsers you want to target), or just install Crosswalk.
I have Android APIs 14 through 19 installed and the androidmanifest reflects this. I ran cordova build android and my app is still not working on 4.0 or 4.1 (Only versions I can actively test).
Any recommendations?