Making and testing the Android build from source?

I’m not sure this is the right place to ask.

To start with, I’m incredibly hyped that I might be able to test Krita on my Wacom Cintiq Companion Hybrid and my Samsung Galaxy S3. I’m eager to bug test, soI went through the tutorials in the Krita docs on how to compile and install Krita from Source. I’ve successfully compiled and installed the linux version on Ubuntu, but I’m hitting up snags on building the android version using the readme.android.md. Is this the right place to ask with errors compiling the Android build from source?

1 Like

Do you need help with building Krita on android?

yes. I followed sh-zam’s instructions to compile, and I get a lot of errors I don’t know how to troubleshoot because they’re not very descriptive. Should I paste the terminal into here?

Do you intend to develop krita or you want the apk to test it. Yes you can paste the terminal errors here. if some developers sees it they may respond.

I’m a hack as far as coding goes. I can barely make functional python scripts so I might not be too helpful for Krita on that end, but I do want to actively test the latest builds for any bug fixes on Android that are within my power to test.

The terminal errors are as follows:

minstrel@minstrel-Workstation:~/kritadev/krita/packaging/android$ ./androidbuild.sh -p=all --src=/home/minstrel/kritadev/krita --build-root=/home/minstrel/kritadev/android_build --ndk-path=/home/minstrel/Android/Sdk/ndk/android-ndk-r18b --sdk-path=/home/minstrel/Android/Sdk 
Warning: ANDROID_ABI not specified, using the default one: armeabi-v7a
Warning: ANDROID_API_LEVEL not set, using the default one: 21
-- CMAKE_GENERATOR: Unix Makefiles
-- CMAKE_CL_64: 
WARNING: using system python3!
WARNING: using system python3!
-- Configuring done
-- Generating done
-- Build files have been written to: /home/minstrel/kritadev/android_build/b
[ 50%] Performing build step for 'ext_qt'
error: Source option 6 is no longer supported. Use 7 or later.
error: Target option 6 is no longer supported. Use 7 or later.
make[8]: *** [Makefile:292: .classes] Error 2
make[7]: *** [Makefile:49: sub-jar-make_first-ordered] Error 2
make[6]: *** [Makefile:776: sub--home-minstrel-kritadev-android_build-b-ext_qt-ext_qt-prefix-src-ext_qt-qtbase-src-android-make_first] Error 2
make[6]: *** Waiting for unfinished jobs....
In file included from ../../../include/QtCore/qvariant.h:1,
                 from ../../../include/QtCore/../../src/corelib/tools/qlocale.h:43,
                 from ../../../include/QtCore/qlocale.h:1,
                 from ../../../include/QtCore/../../src/corelib/serialization/qtextstream.h:46,
                 from ../../../include/QtCore/qtextstream.h:1,
                 from ../../../include/QtCore/../../src/corelib/io/qdebug.h:49,
                 from ../../../include/QtCore/qdebug.h:1,
                 from rcc.cpp:33:
../../../include/QtCore/../../src/corelib/kernel/qvariant.h: In constructor ‘QVariant::QVariant(QVariant&&)’:
../../../include/QtCore/../../src/corelib/kernel/qvariant.h:273:25: warning: implicitly-declared ‘QVariant::Private& QVariant::Private::operator=(const QVariant::Private&)’ is deprecated [-Wdeprecated-copy]
  273 |     { other.d = Private(); }
      |                         ^
../../../include/QtCore/../../src/corelib/kernel/qvariant.h:399:16: note: because ‘QVariant::Private’ has user-provided ‘QVariant::Private::Private(const QVariant::Private&)’
  399 |         inline Private(const Private &other) Q_DECL_NOTHROW
      |                ^~~~~~~
In file included from ../../../include/QtCore/qvariant.h:1,
                 from ../../../include/QtCore/../../src/corelib/tools/qlocale.h:43,
                 from ../../../include/QtCore/qlocale.h:1,
                 from ../../../include/QtCore/../../src/corelib/serialization/qtextstream.h:46,
                 from ../../../include/QtCore/qtextstream.h:1,
                 from ../../../include/QtCore/../../src/corelib/io/qdebug.h:49,
                 from ../../../include/QtCore/qdebug.h:1,
                 from main.cpp:31:
../../../include/QtCore/../../src/corelib/kernel/qvariant.h: In constructor ‘QVariant::QVariant(QVariant&&)’:
../../../include/QtCore/../../src/corelib/kernel/qvariant.h:273:25: warning: implicitly-declared ‘QVariant::Private& QVariant::Private::operator=(const QVariant::Private&)’ is deprecated [-Wdeprecated-copy]
  273 |     { other.d = Private(); }
      |                         ^
../../../include/QtCore/../../src/corelib/kernel/qvariant.h:399:16: note: because ‘QVariant::Private’ has user-provided ‘QVariant::Private::Private(const QVariant::Private&)’
  399 |         inline Private(const Private &other) Q_DECL_NOTHROW
      |                ^~~~~~~
make[5]: *** [Makefile:51: sub-src-make_first] Error 2
make[4]: *** [Makefile:59: module-qtbase-make_first] Error 2
make[3]: *** [ext_qt/CMakeFiles/ext_qt.dir/build.make:118: ext_qt/ext_qt-prefix/src/ext_qt-stamp/ext_qt-build] Error 2
make[2]: *** [CMakeFiles/Makefile2:1360: ext_qt/CMakeFiles/ext_qt.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:1372: ext_qt/CMakeFiles/ext_qt.dir/rule] Error 2
make: *** [Makefile:417: ext_qt] Error 2
1 Like

Sharaf shared an android build with me a few weeks ago, so probably you could try and install that on your system, but can’t guarantee whether it will work or not, https://mega.nz/#!UCYQgApa!HRtqf0oB5Vlo9mULx0CVM6-s67gfTwfJSfbll1qC3nU

3 Likes

Awesome! It installed just fine and honestly it works far better than I expected it would as of now. It’s still a bit rough, but I can use it. Is this something where I should file bug reports for issues, or is the android build so young that it’s not worth reporting issues yet?

1 Like

It’s not really worth reporting issues just yet; wait until we have an official announcement for that. (otherwise we who triage bugs get confused which android build you used, etc)

This is a dream come true

1 Like

Kind of a PSA/update here for anyone who is interested in Krita on Android devices (and a small rant against Wacom).

I did a bit more digging, and the Android API version used to port Krita is for Android 5.0. That means that Krita will not work on the Wacom Cintiq Companion Hybrid (Android 4.2.1) at this time. As much as I’d LOVE Krita on my cintiq on the go, that should probably be an “eventually maybe, if ever” request.

Since the Cintiq is probably the only real drawing tablet that’s running such an older version of Android, I’m not sure if backporting to an earlier Android API for the Cintiq would even be possible/feasible/worth it at all. If it isn’t possible, then I’d blame Wacom more than anyone else. The only Software update they ever gave that thing was some minor unspecific bug fixes and the ability to see the stylus cursor on the screen. It’s to the point that Google Chrome on this thing is now almost 40 versions behind (Can install as far as version 42, the Current release is version 79). Thanks Wacom.

On better notes, Krita on my Samsung Galaxy Tab S3 works pretty much as it should, except I cannot find the options (File, Edit, View, etc), and I cannot toggle my onscreen keyboard. Hopefully this is an easy fix or I’m missing something simple/obvious.

What I didn’t expect is that Krita for Android works flawlessly on my Acer Chromebook Spin 11, pressure sensitivity on the stylus and everything. Awesome! It runs better than the Linux appimage, even. That’s likely because Linux for Chromebooks is still in beta, and does not have HW acceleration.

There must be 3 dots on the top right or left, I don’t remember the location exactly, but on tapping it, it should reveal the Menu ( File, Edit, View etc.). Doesn’t the on screen keyboard disappear on tapping the back button?

I think this post can be moved to artists feedback section :slight_smile:

hey, how about I try the apk with an android X86 cintiq tablet pc? :thinking:

I went on out of curiosity and tried that on my Xiaomi note 7. Running krita on a smartphone is obviously not how you should run krita hahaha mainly due to the screen, but I was pleasantly suprised that not only did it run, but it did so smoothly and i was actually able to sketch something. I had some issues with some windows that were off screen but this is due to the fact that i was running it in a 5.5" screen :P.

It’s a pretty impressive start honestly!

It is at the beginning stage, the next step would probably be a default workspace for the tablet or give it some tablet suitable UI.

Also a big kudos to sha_zam for porting krita to android.

1 Like

Big Kudos to sh_zam indeed! That this was even possible never occurred to me until GsoC was announced and then I realized how much I want it (haha). At its core, Krita is already almost as functional as other art apps on Android, if not more so.

Im not sure how much more polish is needed under the hood, but I don’t even think we need a whole new UI. The docker system is already crazy customizable, so each person can make their own layout of the things they need. Stability, some (hopefully)minor tweaks so Android users have access to the top menu, and maybe some way to toggle the radial (right click) menu, and I’d be good to draw all day on my tablet.

If we want to make it usable on screens smaller than 10 inches though, that might be a whole other story.

1 Like

Just press the three dots in top right corner for the menu, :slight_smile:

P.S : This is screenshot from my smart phone

This might be an earlier bug to be ironed out, but that top bar with the three dots does not appear on my Galaxy Tab S3. It does appear just fine on my Chromebook, but not here. Included screenshot with doodle showing how it looks for me:

Okay, so my girlfriend tried to run Krita on her phone and it failed… She is using an OPPO and she said her Android version is 6.0.1.

It runs fine on my phone. However it is not usable at all. I cannot close the settings dialog because it is too long, and hi-dpi is on. In fact I am not able to close any dialog within Krita. Didn’t try rotating the screen yet, though. Will try after I go home.

I might be wrong, but the minimum Android version required was 7, afair. And yes the UI needs some tweaking of course, :slight_smile: