[PyQt] pyqtdeploy Demo cross-compiling -- setting up android sysroot

Phil Thompson phil at riverbankcomputing.com
Thu Feb 7 22:42:49 GMT 2019


On 7 Feb 2019, at 7:04 pm, alan moore <me at alandmoore.com> wrote:
> 
> On 2/7/19 3:32 AM, Phil Thompson wrote:
>> On 6 Feb 2019, at 10:28 pm, alan moore <me at alandmoore.com> wrote:
>>> 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
> 
> Thanks.  I eventually figured out that GCC was dropped from the NDK at v18, so downloading NDK 17c provided the executable.  Now I'm on to the next compile error, which I won't trouble this list with at this time.
> 
> I'm curious if there are currently development plans that would make this process more accessible to the average Python coder, or if the complexity is just the unavoidable nature of the beast for the foreseeable future.  Or perhaps I'm missing some obvious tools that would sort out these issues.  I only ask because I'm in the process of evaluating if I want to include coverage of mobile deployment in a book I'm working on, and right now I feel like it's going to take things too far out of the scope for my intended audience.  Just wondering if I should keep an open mind until the next release.
> 
> I appreciate any thoughts you have on that.

pyqtdeploy isn't going to make that aspect easier - it's out of scope. pyqtdeploy, very deliberately, uses the Qt build tools to handle compilation and packaging because by that time it's just a C++ program. It therefore comes down to how well the Qt tools integrate with the target-specific developmnt tools. For iOS (hosted on macOS) it is very, very simple. Android is, relatively, a mess.

Phil


More information about the PyQt mailing list