[Qbs] Android multiarch

Raphael Cotty raphael.cotty at gmail.com
Thu May 14 14:23:20 CEST 2020


Hi,
Can you try to use the QtApplication item instead of the CppApplication one?
Raph

Le jeu. 14 mai 2020 à 14:20, Christian Gagneraud <chgans at gmail.com> a
écrit :

> On Thu, 14 May 2020 at 23:57, Richard Weickelt <richard at weickelt.de>
> wrote:
> >
> >
> > > As an experiment, i've just tried Qt-5.14, and this has enabled
> > > multi-arch on Android.
> > > I can select the list of architecture i want to support with
> qbs.architectures.
> > > This works for libraries, but my application is disabled:
> > > Error while handling 'TestApp'
> > > Product 'TestApp' had errors and was disabled.
> > >
> > > 3 of them, and that's all i get. I have 3 Depends that point to
> > > internal libraries, maybe that's the smoking gun...
> > > I have
> > >     multiplexByQbsProperties: ["architectures"]
> > >     qbs.architectures: ["arm64", "x86_64"]
> > > For libs and apps.
> > > I tried as well the 'usesNativeCode' but no success.
> > >
> > > Any idea what i'm missing?
> >
> > Can you show us some more code or even a minimal example?
>
> Here is my app module:
> CppApplication {
>     Depends { name: "Qt.core" }
>     Depends { name: "Qt.androidextras"; condition: qbs.targetPlatform
> == "android" }
>     cpp.includePaths: [  project.sourceDirectory + "/sources", "." ]
>     cpp.cxxLanguageVersion: "c++14"
>     qbs.architectures: ["arm64", "x86_64"]
>     multiplexByQbsProperties: ["architectures", "profiles"]
>
>     Properties {
>         condition: qbs.targetPlatform == "android"
>         // https://xxxxxxxxxxxxx
>         Android.sdk.platform: "android-28"
>         Android.sdk.buildToolsVersion: "28.0.3"
>         Android.ndk.platform: "android-28"
>         // Apk
>         Android.sdk.packageName: "xxxx." + name.toLowerCase()
>         Android.sdk.versionName: project.versionName
>         Android.sdk.versionCode: project.versionCode
>         Android.sdk.apkBaseName: "factory-" + name.toLowerCase() + "-"
> + project.versionName
>         Android.sdk.manifestFile: sourceDirectory +
> "/android/AndroidManifest.xml"
>         Android.sdk.keyStorePath: project.sourceDirectory + "/xxxx.jks"
>         Android.sdk.keyStorePassword: "xxxx:xxxxx"
>         Android.sdk.keyAlias: "xxxxxx"
>         Android.sdk.keyPassword: "xxxx:xxxxx"
>         // For debugging androiddeployqt issues, set this to true
>         // androiddeployqt is only use by qbs to collect dependencies
>         //Qt.android_support.verboseAndroidDeployQt: true
>     }
> }
>
> And my library module:
> StaticLibrary {
>
>     Depends { name: "Qt.core" }
>     Depends { name: "Qt.androidextras"; condition: qbs.targetPlatform
> == "android" }
>
>     cpp.includePaths: [  project.sourceDirectory + "/sources", "." ]
>     cpp.cxxLanguageVersion: "c++14"
>     multiplexByQbsProperties: ["architectures", "profiles"]
>     qbs.architectures: ["arm64", "x86_64"]
> }
>
> First time i'm using multi-arch, my understanding is that i should
> have 1 APK that support these 2 archs
>
> Chris
> _______________________________________________
> Qbs mailing list
> Qbs at qt-project.org
> https://lists.qt-project.org/listinfo/qbs
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/qbs/attachments/20200514/9b79c6b8/attachment-0001.html>


More information about the Qbs mailing list