Re: [Qbs] Android multiarch
On Fri, 15 May 2020 at 01:01, Raphael Cotty wrote: > > Hi, > Yes, I use qtc to load my multi-arch app. Maybe it's my Android env then. I'm using SDK 26.1, Ndk 21.2 and Platform 28 Build tools are pinned to 28.0.3, not sure if it's a strict requirement for me. Chris ___ Qbs mailing list Qbs@qt-project.org https://lists.qt-project.org/listinfo/qbs
Re: [Qbs] Android multiarch
Hi, Yes, I use qtc to load my multi-arch app. Raph Le jeu. 14 mai 2020 à 14:37, Christian Gagneraud a écrit : > On Fri, 15 May 2020 at 00:28, Christian Gagneraud > wrote: > > > > On Fri, 15 May 2020 at 00:23, Raphael Cotty > wrote: > > > > > > Hi, > > > Can you try to use the QtApplication item instead of the > CppApplication one? > > > > Hey, spot on! This solves the problem. > > Thanks a lot for that! > Can you create and load multi-arch binaries with QtC + Qbs? > > Chris > ___ Qbs mailing list Qbs@qt-project.org https://lists.qt-project.org/listinfo/qbs
Re: [Qbs] Android multiarch
On Fri, 15 May 2020 at 00:28, Christian Gagneraud wrote: > > On Fri, 15 May 2020 at 00:23, Raphael Cotty wrote: > > > > Hi, > > Can you try to use the QtApplication item instead of the CppApplication one? > > Hey, spot on! This solves the problem. Thanks a lot for that! Can you create and load multi-arch binaries with QtC + Qbs? Chris ___ Qbs mailing list Qbs@qt-project.org https://lists.qt-project.org/listinfo/qbs
Re: [Qbs] Android multiarch
On Fri, 15 May 2020 at 00:23, Raphael Cotty wrote: > > Hi, > Can you try to use the QtApplication item instead of the CppApplication one? Hey, spot on! This solves the problem. Now i have other problems, but this time it's QtC, QtC wants to run androiddeployqt again with --no-build --gradle --reinstall --device And it's adb pulling app_process, linker, libc.so, ... Weird stuff! Maybe i need to tweak a few things in QtC. Chris ___ Qbs mailing list Qbs@qt-project.org https://lists.qt-project.org/listinfo/qbs
Re: [Qbs] Android multiarch
On Fri, 15 May 2020 at 00:20, Raphael Cotty wrote: > > Hi, > Can you enable androiddeployqt debug: > Qt.android_support.verboseAndroidDeployQt > And provide the output file? 00:21:53: Running steps for project Neon Factory Tools... copying Qt resource templates [TestApp] running androiddeployqt [TestApp] /home/chgans/Programs/QtCommercial/5.14.2/android/bin/androiddeployqt --output /home/chgans/Projects/build-FactoryTools-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_14_2_for_Android-Debug/Debug_Android__54f9cea5714846ce/TestApp.93c1d015/deployqt_out --input /home/chgans/Projects/build-FactoryTools-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_14_2_for_Android-Debug/Debug_Android__54f9cea5714846ce/TestApp.93c1d015/androiddeployqt.json --aux-mode --deployment bundled --android-platform android-28 --verbose Cannot find application binary TestApp. Process failed with exit code 2. The following products could not be built for configuration Debug_Android__54f9cea5714846ce: TestApp Error while building/deploying project Neon Factory Tools (kit: Android for armeabi-v7a,arm64-v8a,x86,x86_64 (Clang Qt 5.14.2 for Android)) When executing step "Qbs Build" 00:21:53: Elapsed time: 00:00. And json: { "description": "This file was generated by qbs to be read by androiddeployqt and should not be modified by hand.", "qt": "/home/chgans/Programs/QtCommercial/5.14.2/android", "sdk": "/home/chgans/Android/Sdk", "sdkBuildToolsRevision": "28.0.3", "ndk": "/home/chgans/Android/Sdk/ndk-bundle", "toolchain-prefix": "llvm", "tool-prefix": "llvm", "useLLVM": true, "ndk-host": "linux-x86_64", "architectures": {"x86_64":"x86_64-linux-android","arm64-v8a":"aarch64-linux-android"}, "qml-root-path": "/home/chgans/Projects/neon-testapp/sources/TestApp", "stdcpp-path": "/home/chgans/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/", "application-binary": "TestApp" } Thanks, Chris > Thanks > Raph > > Le jeu. 14 mai 2020 à 14:12, Christian Gagneraud a écrit : >> >> On Thu, 14 May 2020 at 23:34, Christian Gagneraud wrote: >> > >> > Hi there, >> > >> > 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. >> >> I've tracked the problem down into one library, I have an export item >> that seems to be problematic. >> For now i added an explicit dependency in the app, and removed the export. >> Looks weird... >> >> But now androiddeployqt fails with: >> Cannot find application binary TestApp >> Don't know why it's not one of the libTestApp.so, ... >> >> Chris >> ___ >> Qbs mailing list >> Qbs@qt-project.org >> https://lists.qt-project.org/listinfo/qbs ___ Qbs mailing list Qbs@qt-project.org https://lists.qt-project.org/listinfo/qbs
Re: [Qbs] Android multiarch
Hi, Can you try to use the QtApplication item instead of the CppApplication one? Raph Le jeu. 14 mai 2020 à 14:20, Christian Gagneraud a écrit : > On Thu, 14 May 2020 at 23:57, Richard Weickelt > 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://x > Android.sdk.platform: "android-28" > Android.sdk.buildToolsVersion: "28.0.3" > Android.ndk.platform: "android-28" > // Apk > Android.sdk.packageName: "." + 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 + "/.jks" > Android.sdk.keyStorePassword: ":x" > Android.sdk.keyAlias: "xx" > Android.sdk.keyPassword: ":x" > // 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@qt-project.org > https://lists.qt-project.org/listinfo/qbs > ___ Qbs mailing list Qbs@qt-project.org https://lists.qt-project.org/listinfo/qbs
Re: [Qbs] Android multiarch
Hi, Can you enable androiddeployqt debug: Qt.android_support.verboseAndroidDeployQt And provide the output file? Thanks Raph Le jeu. 14 mai 2020 à 14:12, Christian Gagneraud a écrit : > On Thu, 14 May 2020 at 23:34, Christian Gagneraud > wrote: > > > > Hi there, > > > > 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. > > I've tracked the problem down into one library, I have an export item > that seems to be problematic. > For now i added an explicit dependency in the app, and removed the export. > Looks weird... > > But now androiddeployqt fails with: > Cannot find application binary TestApp > Don't know why it's not one of the libTestApp.so, ... > > Chris > ___ > Qbs mailing list > Qbs@qt-project.org > https://lists.qt-project.org/listinfo/qbs > ___ Qbs mailing list Qbs@qt-project.org https://lists.qt-project.org/listinfo/qbs
Re: [Qbs] Android multiarch
On Thu, 14 May 2020 at 23:57, Richard Weickelt 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://x Android.sdk.platform: "android-28" Android.sdk.buildToolsVersion: "28.0.3" Android.ndk.platform: "android-28" // Apk Android.sdk.packageName: "." + 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 + "/.jks" Android.sdk.keyStorePassword: ":x" Android.sdk.keyAlias: "xx" Android.sdk.keyPassword: ":x" // 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@qt-project.org https://lists.qt-project.org/listinfo/qbs
Re: [Qbs] Android multiarch
On Thu, 14 May 2020 at 23:34, Christian Gagneraud wrote: > > Hi there, > > 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. I've tracked the problem down into one library, I have an export item that seems to be problematic. For now i added an explicit dependency in the app, and removed the export. Looks weird... But now androiddeployqt fails with: Cannot find application binary TestApp Don't know why it's not one of the libTestApp.so, ... Chris ___ Qbs mailing list Qbs@qt-project.org https://lists.qt-project.org/listinfo/qbs
Re: [Qbs] Android multiarch
Hi, are you using StaticLibrary or DynamicLibrary item for the libraries? Raph Le jeu. 14 mai 2020 à 13:34, Christian Gagneraud a écrit : > Hi there, > > 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? > > Thanks, > Chris > ___ > Qbs mailing list > Qbs@qt-project.org > https://lists.qt-project.org/listinfo/qbs > ___ Qbs mailing list Qbs@qt-project.org https://lists.qt-project.org/listinfo/qbs
Re: [Qbs] Android multiarch
> 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? ___ Qbs mailing list Qbs@qt-project.org https://lists.qt-project.org/listinfo/qbs
[Qbs] Android multiarch
Hi there, 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? Thanks, Chris ___ Qbs mailing list Qbs@qt-project.org https://lists.qt-project.org/listinfo/qbs