beeware / briefcase-android-gradle-template

A template for generating Android Gradle projects with Briefcase
MIT License
18 stars 19 forks source link

Android build fails on 32 bit machine #22

Closed drkousek closed 4 years ago

drkousek commented 4 years ago

Hi. I have some errors for you.

Maybe problems just for me, but before I had problem with Java downloaded version of JDK, I had already JDK, but new one was downloaded into briefcase, which was 64 bit, but I had 32 bit version of windows. So I had to manually overwrite Java files in briefcase to 32 bit.

For create android you also need Ninja building program. For creating Ninja is needed MinGW-w64. Nobody mentioned, that I will need this programs - Ninja and MinGW-w64.

https://imgur.com/BrBwjXC after I write "briefcase build android", I encounter this errors. Clang and clang++ are in position, that is erroring. Don't know, how to fix it.

at name_of_project\android\name_of_project\gradle.properties, I am suggesting to lower default value from 1.5Gb to 1Gb. (1564 to 1024). Encountered error, that Gradle did not have enough Ram to run.

at name_of_project\name_of_project\android\name_of_project\app\build.gradle - ExternalNativeBuild section, if there is 3.6.0+ - gradle does not work, shows that there is not Cmake of version 3.6.0+. If you explicitly set number to yours Cmake version, it works. (My version 3.17.3 - value 3.6.0+ does not work, value 3.17.3 works)

Spent probably 15 hours on this errors, but I did not build my first Android app yet. Hoping for better tommorows. Thanks for your work and keep it up.

freakboy3742 commented 4 years ago

Thanks for those details; however, unfortunately, there isn't much we can do to help. The system requirements for the Android SDK specify 64 bit hardware with 4GB of RAM. There's not much we can do about that; if Android's own tools don't support 32 bit, we can't manufacture that support. It isn't matter of "just" switching in MinGW; there's an entire tool chain of build tools, resource compilers, signing tools and more that needs to be considered.

We should definitely document that a 64 bit machine is required for Android hardware; but adding support for 32 bit host machines seems highly unlikely.