ardabeyazoglu/cordova-plugin-crosswalk-webview-v3

x86_64 APK is not created

i-no opened this issue · 2 comments

i-no commented

For some reason you removed productFlavors definition for x86_64 architecture in platforms/android/xwalk.gradle file. And now APK file for x86_64 platform is not created with $ cordova build --release --xwalk64bit command. Probably you should return it back.

Also there is a version code conflict. APK file for arm64 platform has the same version number as APK file for x86 platform:

    // your xwalk.gradle file
    if (xwalk64bit != null) {
        flavorDimensions "default"
        productFlavors {
            arm64 {
                versionCode defaultConfig.versionCode*10 + 4
                ndk {
                    abiFilters "arm64-v8a", ""
                }
            }
        }
    }


    // android/app/build.gradle file
    productFlavors {
        armeabi {
            versionCode defaultConfig.versionCode*10 + 1
            ndk {
                abiFilters = ["armeabi"]
            }
        }
        armv7 {
            versionCode defaultConfig.versionCode*10 + 2
            ndk {
                abiFilters = ["armeabi-v7a"]
            }
        }
        arm64 {
            versionCode defaultConfig.versionCode*10 + 3
            ndk {
                abiFilters = ["arm64-v8a"]
            }
        }
        x86 {
            versionCode defaultConfig.versionCode*10 + 4
            ndk {
                abiFilters = ["x86"]
            }
        }
        x86_64 {
            versionCode defaultConfig.versionCode*10 + 5
            ndk {
                abiFilters = ["x86_64"]
            }
        }
    }

Probably version codes in Crosswalk gradle script should match version codes in cordova-android scripts:

    if (xwalk64bit != null) {
        flavorDimensions "default"
        productFlavors {
            arm64 {
                versionCode defaultConfig.versionCode*10 + 3
                ndk {
                    abiFilters "arm64-v8a", ""
                }
            }
            x86_64 {
                versionCode defaultConfig.versionCode*10 + 5
                ndk {
                    abiFilters "x86_64", ""
                }
            }
        }
    }

Thanks, I ll check the mismatch. Also, what device is using x86_64 ? I think x86 is quite rare in android device portfolio.

i-no commented

Yes, x86 is quite rare in Android world. But we still need to support those devices. Also Android emulators mostly require x86 APKs.