Trouble changing android-minSdkLevel on Ionic project - android

Well...
Once i've set the android-minSdkLevel on my ionic project and this worked, but now this isn't working...
I've set
<preference name="android-minSdkVersion" value="14" />
<preference name="android-targetSdkVersion" value="19" />
And when I run ionic platform add android it is always adding android#5.2.2 instead of android#4.4.2(api level 19)...
I've found this at the end of my config.xml <engine name="android" spec="~5.2.2" /> and tried to use spec="~4.4.2" but this didn't work too... Cordova returns me that 4.4.2 is not an available version.

Related

Android API - Unable to run on devices set lower than target

I have a PhoneGap app which installs good on any version on Android using the APK.
But upon hosting on PlayStore as Internal Test, it doesn't allow it to be installed on device Android 8 or lower.
The error prompted is "The device is not compatible with this version"
On some other device not listed in Playstore, it just says Item Not Found.
I have choose all countries to host the app.
Following is the config file extract
<preference name="android-minSdkVersion" value="23" />
<preference name="android-maxSdkVersion" value="28" />
<preference name="android-targetSdkVersion" value="28" />
Please advice where I should I be looking into - Play store console or my app?
Though not entirely sure where the problem was, but following config does work
<preference name="android-minSdkVersion" value="23" />
<preference name="android-maxSdkVersion" value="29" />
<preference name="android-targetSdkVersion" value="28" />
<preference name="android-build-tool" value="gradle" />
Set above in your config.xml file of your root folder.

cordova-plugin-ionic-webview - custom scheme not working on Android

I am developing (and near to the release) of a Cordova App for iOS and Android.
I am trying to use cordova-plugin-ionic-webview in order to use the latest WebView engines.
I am able to use this plugin on iOS but on Android the App crashes on launch.
MY CONFIG.XML:
<allow-navigation href="cordovaios://*" />
<allow-navigation href="cordovaandroid://*" />
<plugin name="cordova-plugin-ionic-webview" spec="^4.0.0">
<variable name="ANDROID_SUPPORT_ANNOTATIONS_VERSION" value="27.+" />
</plugin>
<preference name="Hostname" value="my-backend-url-to-avoid-CORS.com" />
<preference name="iosScheme" value="cordovaios" />
<preference name="Scheme" value="cordovaandroid" />
<preference name="ScrollEnabled" value="true" />
<preference name="MixedContentMode" value="0" />
<preference name="AllowBackForwardNavigationGestures" value="true" />
<preference name="Allow3DTouchLinkPreview" value="false" />
<preference name="WKSuspendInBackground" value="false" />
<preference name="KeyboardAppearanceDark" value="false" />
LOGS:
5726-5770/mycertificate.enterprise D/SERVER: Handling local request: cordovaandroid://my-backend-url-to-avoid-CORS.com/static/js/10.601e7973.chunk.js
5726-5773/mycertificate.enterprise E/chromium: [ERROR:render_process_host_impl.cc(4070)] Terminating render process for bad Mojo message: Received bad user message: Origin is invalid
5726-5773/mycertificate.enterprise E/chromium: [ERROR:bad_message.cc(23)] Terminating renderer for bad IPC message, reason 123
NOTE:
This config works fine on iOS. On Android I can't use this plugin due to this Hostname/Origin issue.
That custom scheme does not appear to be supported (just try to find something alike that in the source code). It is also beyond my understanding, for what one even would even need to register a custom protocol handler, while never leaving that WebView? The usual purpose is: to open another application.
<preference name="Scheme" value="https" />
<allow-navigation href="https://my-backend-url-to-avoid-CORS.com/*"/>
Unfortunately there is a lot of mismatching between the Cordova Android Platform version and plugins versions, which lead to some waste of time for nothing. Said so, for similar problemas I had like this I simply fixed them downgrading the version of Cordova or Android or the Plugin (or use the same version of android the plugin is using in their code example).

How do target an API level for android from config.xml for phonegap?

I used to build apps with the basic config.xml file for phonegap for play store until recently when my apps were being rejected because they did not target API level 26. I did some research and and tried a few solutions and did this:
<platform name="android">
<allow-intent href="market:*" />
<preference name="android-minSdkVersion" value="26" />
<preference name="android-targetSdkVersion" value="26" />
</platform>
which went from bad to worse, my apps in debug mode (after xompilation on phonegap build) won't even be parsed on android anymore.
I have equally read a couple of solutions but none seems to walk. I really just want to know what I should be including into the config.xml file so that I can going anew.
My config.xml file has these two lines but they are placed outside of
<platform name="android"></platform>
Here are the values that I use and my app is live on both Apple and Google app store:
<preference name="android-targetSdkVersion" value="26" />
<preference name="android-minSdkVersion" value="14" />
Let me know if you want an example of my full config.xml file! :)

Cordova Webview and Splashscreen dont work

I installed Cordova plugin:
cordova-plugin-crosswalk-webview
Everything works fine with this plugin, but then I installed
cordova plugin add cordova-plugin-splashscreen
for creating splashscreen. In file config.xml in widget section I put this code:
<preference name="SplashScreen" value="screen" />
<preference name="SplashScreenDelay" value="5000" />
<preference name="AutoHideSplashScreen" value="true" />
<preference name="ShowSplashScreenSpinner" value="false" />
Build was successful. After start application it shows splashscreen (for 5 second), but when splashscreen is disappear, it shows just white page instead my app. After I remove webview plugin - everyting works fine. How can I fix that problem?

Limiting Android minsdk to 4x & up using Intel XDK development environment

I'm wanting to limit the android users (on google play store, etc.) to android 4.x & up.
I'm using the Intel XDK environment to develop an android app. It's being built with the cordova 3.x build process (in XDK) and I've setup the intelxdk.config.xml file as follows below.
The min sdk version is:
<preference name="android-minSdkVersion" value="14" />
However when I set it up in the Google Play Store it says that it will be compatible with android 1.6 & up?
I'm wondering if I'm missing something?
Any advice would be appreciated.
Thanks. The full android config is below:
<!-- Android specific configuration -->
<preference name="DisallowOverscroll" value="false"/>
<preference name="BackgroundColor" value="0xffffffff"/>
<preference name="SplashScreen" value="splash" />
<preference name="SplashScreenDelay" value="5000" />
<preference name="android-minSdkVersion" value="14" />
<preference name="android-targetSdkVersion" value="19" />
<preference name="android-permission" value="GET_TASKS" />
<preference name="android-permission" value="VIBRATE" />
<preference name="android-signed" value="true" />
<!--
<preference name="android-installLocation" value="<LOCATION>" />
<preference name="android-windowSoftInputMode" value="<INPUTMODE>" />
-->
I just got a message from the Intel XDK group -- they suggest upgrading to the latest (build 1199) version of XDK where the build doesn't require manually creating the intelxdk.config.xml file. I don't understand exactly what that fixed, but it resolved it ;)

Categories

Resources