I have added Crosswalk to my ionic project. When i do ionic build android
it outputs two separate APK files, one for armv7 and one for x86.
However i want one single apk file bundling two architectures together.
I tried setting BUILD_MULTIPLE_APKS = false
but it's still building two separate apks.
There is a post here saying :
Took me a minute but you can get the single build file by commenting out the cdvBuildMultipleApks=true line in the platforms/android/gradle.properties
Cheers
But i don't have any gradle.properties file in my platforms/android/ folder, i have a project.properties file and there is no cdvBuildMultipleApks=true
line in it to comment out.
I tried to manually create a gradle.properties file and putting cdvBuildMultipleApks=false
in there but still two outputs.
Any ideas how to achieve this?
Update:
My Cordova version is 5.1.1
Solution:
What did work for me as suggested by @mudasserajaz and here, was to :
build-extras.gradle
inside my /platform/android/
directory.ext.cdvBuildMultipleApks=false
inside it.ionic build android --release
then and Voila, it worked.@mudasserajaz suggested the same thing except variable name is cdvBuildMultipleApks=false
so in case it didn't work out for you, don't forget the ext
Here are steps to do that:
build-extras.gradle
and put it into platforms/android/
. Add line cdvBuildMultipleApks=false
into build-extras.gradle
. ionic run android
, it will create combined single build android-debug.apk
.build.gradle
will automaticaly import build-extras.gradle
,if that is defined.You can see code of build.gradle
doing this :
def hasBuildExtras = file('build-extras.gradle').exists()
if (hasBuildExtras) {
apply from: 'build-extras.gradle'
}
Plus these instructions are clearly mentioned in build.gradle
line 57 :
Configuration properties. Set these via environment variables, build-extras.gradle, or gradle.properties.
NOTE: Before you follow these steps, remove platform folder and install again.
Observations: Once you have done these steps, and again at some point, you want to make separate builds, then setting cdvBuildMultipleApks=true
or commenting out sometimes won't work, you will simply have to install platform again. (P.S this is my personal observation, otherwise deleting build-extras.gradle
should be enough.)