[PyQt] pyqtdeploy Demo cross-compiling -- setting up android sysroot
Phil Thompson
phil at riverbankcomputing.com
Thu Feb 7 09:32:05 GMT 2019
On 6 Feb 2019, at 10:28 pm, alan moore <me at alandmoore.com> wrote:
>
> On 2/4/19 4:25 PM, Phil Thompson wrote:
>> On 4 Feb 2019, at 8:17 pm, me at alandmoore.com wrote:
>>> Having successfully worked through compiling the pyqtdeploy demo for my own platform, I'm attempting to work through the process of cross-compiling for Android.
>>>
>>> I'm currently stuck on getting the sysroot built.
>>>
>>> My questions are:
>>>
>>> 1. in the included sysroot.json, the "qtdir" variable is set to "android_armv7". I had installed the Android Qt binaries via the AUR using android-armv7a-eabi-qt5, and adjusted qtdir to 'armv7a-eabi' to match what was shipped in that package. This may be what's messing me up, but these were the only Qt binaries for android I could find available for Arch. Do I need to compile my own or should this work?
>> The Qt binaries for Android are downloaded using the Qt maintenance tool. No other binaries are supported.
>>
>>> 2. I'm specifying "android" as the build target, which begins building an android-32 sysroot. How do I specify android 64 bit? I tried "android-64", "android64", "android_arm64" and other variations, but the only one that works is "android". Is there a list of valid values for --target?
>> Only 32-bit Android is supported at the moment. The Qt v5.12 binaries now include 64-bit Android support so that will be added in the next version of pyqtdeploy.
>>
>> Phil
>
> Thanks for your response; I guess that's what I get for relying on the package manager. I have downloaded the correct Qt binaries and reset my sysroot.json to the default. My build command still dies on the same error on the first compile step, though:
>
> make[1]: arm-linux-androideabi-gcc: Command not found
>
> Apparently I don't have the right compiler installed; is this command supposed to be in the NDK downloads? Or should this be something I should have installed on my system via the package manager? I couldn't find a package for my distro that contained this binary. Can I (or should I) override it with a different android/arm compiler command?
You need to install the relevant NDK and SDK from Google. pyqtdeploy assumes you have set up your target-specific C++ development envirnoment correctly. Python development skills aren't much help here.
Phil
More information about the PyQt
mailing list