NativeScript / NativeScript

⚡ Empowering JavaScript with native platform APIs. ✨ Best of all worlds (TypeScript, Swift, Objective C, Kotlin, Java, Dart). Use what you love ❤️ Angular, Capacitor, Ionic, React, Solid, Svelte, Vue with: iOS (UIKit, SwiftUI), Android (View, Jetpack Compose), Dart (Flutter) and you name it compatible.
https://nativescript.org
MIT License
24.26k stars 1.64k forks source link

build android 64bit error #7705

Closed peppeg85 closed 5 years ago

peppeg85 commented 5 years ago

hello, i followed many discussion about building for android 64bit, i can run on device and my app works fine, but whrn i upload the .aab file i have the error about my app is not 64bit compliant, but only 32, how can i fix this? i have these gradle files an this package.json:

before-plugins.gradle:

project.ext { googlePlayServicesVersion = "15.0.+" } app.gradle:

` android { defaultConfig {
generatedDensities = [] applicationId = "net.uappo.carservice" ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64' }
aaptOptions {
additionalParameters "--no-version-vectors"
} } def settingsGradlePath

if(project.hasProperty("appResourcesPath")){ settingsGradlePath = "$project.appResourcesPath/Android/settings.gradle"; } else { settingsGradlePath = "$rootDir/../../app/App_Resources/Android/settings.gradle"; }

def settingsGradleFile = new File(settingsGradlePath);

if(settingsGradleFile.exists()) { apply from: settingsGradleFile; }

` package.json:

{ "description": "Generic Application", "license": "SEE LICENSE IN <your-license-filename>", "readme": "Generic Application", "repository": "<fill-your-repository-here>", "nativescript": { "id": "xxxxxxx", "tns-ios": { "version": "5.4.2" }, "tns-android": { "version": "5.4.0" } }, "dependencies": { "moment": "^2.22.2", "nativescript-background-http": "^3.3.1", "nativescript-camera": "^4.1.1", "nativescript-checkbox": "^3.0.3", "nativescript-floatingactionbutton": "^4.1.3", "nativescript-google-maps-sdk": "^2.7.0", "nativescript-iqkeyboardmanager": "^1.5.1", "nativescript-loading-indicator": "^2.5.2", "nativescript-masked-text-field": "^4.0.1", "nativescript-modal-datetimepicker": "^1.1.12", "nativescript-phone": "^1.4.0", "nativescript-plugin-firebase": "^8.3.0", "nativescript-theme-core": "~1.0.4", "nativescript-ui-listview": "^3.7.3", "nativescript-ui-sidedrawer": "^4.3.1", "tns-core-modules": "^5.4.3" }, "devDependencies": { "babel-traverse": "6.4.5", "babel-types": "6.4.5", "babylon": "6.4.5", "lazy": "1.0.11" } } thank you

peppeg85 commented 5 years ago

edit: following this page: https://developer.android.com/distribute/best-practices/develop/64-bit analyzing the bundle i have this files: Immagine

so i have 32bit package, how can i change to be 64 bit compliant?

NickIliev commented 5 years ago

@peppeg85 you are hitting this issue.

The CLI team is already working on a fix and as of this very moment the fix is included in the RC version of tns-android and nativescript-dev-webpack.. The fix will include the missing architecture x86_64 by default in all produced builds.

To apply the fix do the following:

rm -rf node_modules platforms hooks webpack.config.js

npm i nativescript-dev-webpack@rc --save-dev

tns platform add android@rc 

npm i 

Then build for release and publish the produced files.

peppeg85 commented 5 years ago

sorry, but this means i have to use webpack build? for this project i still dont migrate to NS 6

NickIliev commented 5 years ago

@peppeg85 yes you will need NativeScript 6 which works with Webpack builds only.

If you want to resolve the issue on lower version then you could exclude the x86 architecture and this way Google won't complain about missing x86_64 arch.

See this comment for details on how to achieve that

peppeg85 commented 5 years ago

hello, thanks for your answer, i yet tried to exclude x86 and x86_64, but with no result, i will migrate to ns6

Il giorno mer 21 ago 2019 alle ore 12:32 Nick Iliev < notifications@github.com> ha scritto:

@peppeg85 https://github.com/peppeg85 yes you will need NativeScript 6 which works with Webpack builds only.

If you want to resolve the issue on lower version then you could exclude the x86 architecture and this way Google won't complain about missing x86_64 arch.

See this comment https://github.com/NativeScript/nativescript-cli/issues/4330#issuecomment-522721510 for details on how to achieve that

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/NativeScript/NativeScript/issues/7705?email_source=notifications&email_token=AGCCEW5NCEPIULIMUREUCJDQFUKS7A5CNFSM4IOC4IRKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4ZG7MQ#issuecomment-523399090, or mute the thread https://github.com/notifications/unsubscribe-auth/AGCCEW5MTO3JPO3YVA5YGP3QFUKS7ANCNFSM4IOC4IRA .

VitorHFLopes commented 5 years ago

@NickIliev my HUGE thanks for the team!