Mismatch of CPU Architecture for the Crosswalk using Cordova - crosswalk

I have integrate crosswalk plugin in my Cordova application. When I publish this app to google play. I'm not able to open in my Asus gen phone 2 it throws following error
Error message:Mismatch of CPU Architecture for the Crosswalk
Cordova version - 6.0.0
Crosswalk Version - latest
Can any one help me for resolving this problem?

The Asus phones tend to use an Intel x86 chipset. When doing anything with native code, you need to account for the various chipsets used by devices. Crosswalk is built with native code. It sounds like you did not include builds for both the ARM and x86 chipsets to Google play.
The Cordava Crosswalk plugin out-of-the-box will give you 2 chipset builds, 1 for ARM and 1 for x86 CPU architectures. You should be uploading both APK output files to Google Play.
NOTE: Since Google play changed the max APK size from 50mb to 100mb, you now have the option of package both chipsets together. However, you may still want to consider having a separate build for each and uploading them separately.

Related

Unity aab not compliant with the Google Play 64-bit requirement

I have a Unity project that I'm switching from APKs to AABs (app bundles). Previously, when I was building it as an APK, the Google Play Console told me the APK was 64-bit compliant.
Now that I'm building an aab, I'm getting the warning:
This release is not compliant with the Google Play 64-bit requirement.
The following APKs or App Bundles are available to 64-bit devices, but
they only have 32-bit native code
I have both ARM7 and ARM64 architectures set.
I am excluding x86.
When I open the .aab in an archive viewer, the lib folder has all of
the .so's for both arm64-v8a and armabi-v7a.
I'm using IL2CPP, .NET 4.x
I'm using Unity 2018.3.7f1
My ndk version is 16b
My
Android Studio is up to 3.4.2 and gradle is 3.2
A lot of similar threads here talk about following the "Learn more" links, which I've done. I had already done all of the work to get my app 64-bit compliant before switching to app bundles.
Other threads talk about Android Studio solutions, which I can't use because my automated build process involves building with Unity from command line, so it has to be Unity configurations or bust.
My expectation was the app bundles were supposed to be the hot new way to let Google build better APKs for you, but it seems like it's getting confused on whether or not aabs are actually 64-bit compliant, which seems to defeat the whole purpose.
Is this a Unity problem, does Google have an error in their system with regards to app bundles, or is there some other step I'm missing?
For those who have this problem since yesterday (August 19, 2019):
In Player Settings > Other Settings you must now uncheck the x86 box (It is for the 32-bit Intel architecture).
You will now only have the following warning:
The device types on which your application can be installed will be more restricted.
But, in my case, it drops from 12392 devices to 12385 devices.
Here is the opinion of a Unity member on the issue:
x86 is used by less than 0.4% of all Android devices, so it shouldn't have any real impact.
x86 target will be removed completely in Unity 2019.3.
It looks that there was a bug in the Play Console where this message was displayed even when the AAB was compliant. This should have been fixed last Friday afternoon.
Try again now.

Minimum Android version with flutter

Which minimum android version is supported by flutter?
Do some plugins have any effect on which version is not supported?
I tried to run my flutter app on an android emulator, but with the version android 16 it doesn't work and the app crashes. Do I have to change the compile version in some config files or why doesn't it work?
Flutter support 16. But to run app on Android emulator, use over 19.
https://github.com/flutter/flutter/issues/11094
https://github.com/flutter/flutter/issues/9108
https://github.com/flutter/flutter/issues/8610
From Flutters FAQ
flutter.dev/docs/resources/faq#what-devices-and-os-versions-does-flutter-run-on
Mobile operating systems: Android Jelly Bean, v16, 4.1.x or newer, and
iOS 8 or newer.
Mobile hardware: iOS devices (iPhone 4S or newer) and ARM Android
devices.
Note Flutter currently does not support building for x86 Android
(issue #9253) directly, however apps built for ARMv7 or ARM64 run fine
(via ARM emulation) on many x86 Android devices.
We support developing Flutter apps with Android and iOS devices, as
well as with Android emulators and the iOS simulator.
We test on a variety of low-end to high-end phones but we don’t yet
have an official device compatibility guarantee.
We believe Flutter works well on tablets. We do not currently
implement all of the tablet-specific adaptations recommended by
Material Design, though we are planning further investment in this
area
The answer to this question also, partly, needs to take into consideration what parts of Android you want to take advantage of in your application. The question of what min version Flutter supports has been answered here a couple of times so I won't answer that, but the Android support libraries will also need specific min versions.
If you plan to use plugins of any kind then you will probably hit multiple issues if your min version is too low. Do you need Firebase? Do you need specific camera functions?
Google also just announced required bumps for min versions with regards to Google Play that you should review.
My advice is to follow documentation, analytics and best practices to determine what you "true" min version should be.
The Flutter documentation has this answer to Android and iOS. Now it says that support: Android Jelly Bean, v16, 4.1.x or newer, and iOS 8 or newer. However, this information can change according to the new Flutter version. By this reason, it is better that you review the next link:
https://flutter.dev/docs/resources/faq#what-devices-and-os-versions-does-flutter-run-on
Furthermore, it would be best if you analyzed the plugins because they could need higher versions of Android and iOS.
This answer can be useful :
Devices and OS versions on which Flutter runs
Mobile operating systems: Android Jelly Bean, v16, 4.1.x or newer, and iOS 8 or newer.
Mobile hardware: iOS devices (iPhone 4S or newer) and ARM Android devices.
You can learn more here

Is there a way to download the crosswalk runtime after the app has been installed on android?

Compiling an app with crosswalk through cordova would increase the size of the app by approximately 20 Mb.
So, I was thinking if downloading and running code on crosswalk runtime after the application is installed would work. If this works then I would download and use crosswalk runtime on certain Android platforms (< Android 4.4.3) only. And use webview on remaining platforms. Just want to avoid building two different apps with same code for different platforms.

Build my cross platform applications using intel XDK without cloud support?

I recently start using Intel XDK. I found that for each platform creation my code will go to Intel cloud center to perform the build. Its a feature mentioned at Product Brief Intel® XDK.
Can I build that locally? I mean can I build locally in my system itself using Intel XDK? If so, then how?
are you afraid of intel knowing your code? in cordova\html5 app your code is available to anyone just get the apk from the store open with winrar and your code is there
if you want offline build there is no problem just read the cordova\phonegap docs step by step.
As you, I needed to build locally my application, principally to debug once Intel XDK, at least in the version 1621, does not provide support to load third-party-plugins(eg: PhoneGap Push Plugin) on Intel App Preview debug mode. Another problem was generate an iPhone build for beta tests.
My solution was, as the others suggested, to create an similar cordova project and copy the main files from my Intel XDK Project, www folder to be more specific. Config files will be found in platforms folder once you build using cordova/phonegap.
It allowed me to build for android on my machine. Debug was easy using "Chrome Inspect" because cordova generates an debug-unaligned.apk.
Allowed me to have access to the iOS build files, this is a good thing to do if you want to build using Xcode instead.
I Hope it help you.

Intel XDK New Crosswalk Build : Error Analyzing Package

I am newbie in mobile app development , and i have litle problem with my mobile app ,,
i using Crosswalk Build For Android in Intel XDK New to develop my mobile app ,
when using Crosswalk For Android, build server gave me 2 download link , for ARM type APK and For X86 type APK
i try to downloaded and install both of it ,but it can't be instaled on device , it has a massage "Error , Problem Analyzing Package" , does anyone know solution for this problem ?
Be sure you only install x86 apk for x86 devices (usually Intel processors) and ARM for ARM devices (usually AMD processors). You do not need to install both, just one or the other. You can do a Google search of your device and look at the processor/cpu type in the specification or detailed description of the device you are using. You can also usually find processor information in the Settings >> About on the device.