Making and testing the Android build from source?

Well, that build is pretty old :slight_smile:

Current master does support tilt.
Sluggishness might be the reason of Krita using QPainter rather than OpenGL ES, which was also fixed.

You can get the apk from binary factory, but you will have to sign it yourself. You can also wait for few days, I will upload the signed one and post the link here.

6 Likes

The APKs are ready. I have built, signed and uploaded the APKs:
Krita-x86-signed.apk
Krita-arm64-signed.apk
Krita-arm32-signed.apk

I am sorry, it took me quite a while to upload this. Unfortunately, before giving out APKs I wanted to make a patch to hide that hideously big Menu Bar forever. I tried to wrestle Qt to make it happen and it did kind of happen, but in a very ugly and non-deterministic way. So, I guess it will take some more time before it is ready :frowning:

Thank you for testing!

PS: I noticed, when you start Krita for the first time (after freshly installing the app). It takes time to load resources (arm64 about 30 seconds, arm32 about a minute). I am assuming this has something to do with the latest resource rewrite being done on master.

7 Likes

I’m afraid I failed to install it with the following message:
failed to install <filepath>: Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]

This is on the same ARM64 Chromebook tablet I installed that very old build on. I uninstalled it first, tried to install the new 64bit APK, and it failed. The old version still installs, which I checked just in case.

Googling your device, it does implement ARM-v8 instruction set. I am not sure why it failed with that error.

Give me an hour, I will build and upload an APK for ARMv7 as well and update the above comment.

I hope you downloaded the Krita-arm64-signed.apk, not the x86 one!

1 Like

Yeah, I definitely got the arm64 one. It’d’ve given me an architecture mismatch error immediately after running adb install if I hadn’t, I’ve done that before :smiley:

I wonder if I can get you more detailed logs. Checking.

Edit: nothing is showing up on logcat :[

1 Like

I have updated my previous comment. It now includes arm 32-bit version as well :slight_smile:

1 Like

I just tested on a Chromebook, and there it worked, too: https://twitter.com/Krita_Painting/status/1242799866553778176 – had to enable developer mode, though.

3 Likes

I must confess I’m kinda jealous now.

Can we get an armeabi-v7a build like before please, @sh-zam? :pleading_face:

Edit: This tablet definitely is ARMv8 though, I just checked /proc/cpuinfo too. Why won’t it install :sob:

I’m afraid, that arm32 is armeabi-v7a build.

What version of android is your tablet running?

1 Like

Oops, I didn’t realize I could install the 32bit build too. :man_facepalming:

I just tried it, it works!! :partying_face: Thank you, and sorry for postering. I’ll go test the actual app now!

Also, my tablet is currently running ChromeOS 81 (beta) with Android 9 (March 5 security patch, which is certainly better than my phone can do):

Installed it on my phone. It does take time to load.
Can’t create a new file but it seems fine :ok_hand:t5:

Notes after running the 32bit build on a ChromeOS running Android 9 (on a CPU that claims it’s ARM64v8, but can’t install the ARM64 build.)

  • It took me 2 minutes and around 10 seconds for the app to first launch.
    • My machine is pretty weak.
  • After creating the first file, the app didn’t actually “refresh” the display.
    • It didn’t freeze up, but clicking on any buttons or anything didn’t register since the screen wasn’t updating.
    • This lasted several minutes until I accessed the three-dot menu to create a new file again, and then the pop-up window made it refresh the display underneath, at first around the fringes with some unclean redraws, and then fully revealing the canvas with marks I had made before without realizing.
    • Thereafter, it kept rendering just fine.
      • I have not yet restarted the app.
    • Subsequent restarts of the app didn’t repeat this issue.
      • This issue repeats sometime after a restart, but not every time.
  • It performs SO much better now!
    • There is still some noticeable latency to the cursor with large brushes, but I can absolutely draw with it now!
      • The smallest brushes, like c) Pencil-1 Hard probably perform as fast as the fastest input latency I’ve observed on this device to date!
      • Whereas moving up to b) Basic-5 Size Opacity makes the latency too much to sketch with, but still usable for painting.
    • I can’t quite eyeball if the cursor itself lags behind the stylus with large brushes or just the mark.
      • Which also means that even with the latency of large brushes, it’s not that slow!
    • This is compared to the old build where everything was too slow to even let me form circles.
      • Canvas Graphics Acceleration with OpenGL ES enabled by default, which I hadn’t checked if it was on the last build but apparently was not?
  • Brush tilt registers.
    • But the angle is offset by 90° on my device.
      • The brush preset c) Pencil-5 Tilted only works as expected—with the lead lengthening towards the tilted stylus as opposed to at an oblique angle—once I edit the preset’s Brush Tip rotation to 90° down from the 180° it has by default.
  • Long-press to right-click emulation isn’t in yet?
    • I just learned today that layer clear function is under Edit and not Layer :]
  • The three-dot menu opens the first level to the right, as expected, but subsequent menu levels render to the very left of the display.
  • No on-screen keyboard pops-up for text-fields.
  • Closing and restarting the app makes it crash every time.
    • But then the second restart after the first crash opens just fine.
  • That titlebar sure is thicc with a surplus of C’s…
    • Wouldn’t say no to the menu being accessible with pointing devices elsewhere within the app and using the whole thing in full-screen mode by default.
2 Likes

If that problem of dialogues being bigger than the screen could be solved somehow, that would help desktop Krita as well. Lot’s of people have that issue on desktop when the HDPI setting is wrong, and then they can’t access the Save button in the settings…

1 Like

I just now got a chance to test this out on my devices, and MAN this runs way smoother now!

Samsung Galaxy Tab S3:
-This still does not display the top bar that contains the options like File, Edit, View…", but they are accessible via their keyboard shortcuts. otherwise, runs mostly great, barely any slowdown.
-occasionally erasing something does not erase it, but then when I try drawing over it that section of the canvas will refresh and what I erased is actually gone.
-certain tasks like moving taskbars would be practically impossible were it not for the wacom stylus being so precise, the UI spot you click to drag them around is so small.
-likely due to the screen resolution being so high.

Motorola G6:
-loaded just fine, but the UI did not scale well at all, I could not start a new canvas without getting creative. Didn’t bother drawing, this has no stylus.

Acer Chromebook Spin 11:
-Was able to install this without Developer mode. I’m running the Unstable branch, and one of the upcoming features in ChromeOS 82 is being able to use ADB in Linux to develop Android apps. I enabled that, opened up a linux terminal and was able to adb install the 32 bit version just fine.
-somehow ran just as well as the Samsung Tab S3, despite being a weaker device.
-lower resolution of the display fixes the issues with UI scaling.

Overall, after messing around for an hour or two, this is almost 100% usable for all my drawing/painting needs (after a bit of setup, of course). What’s getting in the way now is that certain keyboard shortcuts can’t be implemented, such as holding down shift while resizing something to keep proportions.

It might be a good feature request to add optional taskbar buttons for the missing functions, like to toggle shift or ctrl, or right click to toggle the radial menu.

3 Likes

Oh yes, that would be great!
For now there is the Touch docker but it doesn’t have modifiers…

1 Like

Here I am to tell you KRITA run on my plain Motorola e5 plus smartphone (64bit ver.). But the problem is, it is in “vertical” mode only (half screen visible).
Automatic switching to horizontal mode is warmly welcome. :slight_smile:

On all my Android devices, I am able to automatically rotate Krita without issue between landscape and portrait mode. If your device isn’t letting you, then perhaps your device has autorotation locked?

On phones, the user interface is definitely not usable in portrait mode yet, but I don’t think setting it to only landscape mode is the answer.

@Minstrel Yeah, you were right. I enabled screen-autorotate. And yes, Krita looks better. But still, I can not see the whole screen, unfortunately. :frowning:
If there’s is not possible to add “screen scaling”, maybe adding smart sliders to scroll screen would be useful? And what about making some on-screen keyboard to facilitate using this version of Krita?

If that’s useful info, I am on Android 8.

Proper screen scaling to where things fit properly on the screen is definitely going to happen. Might just take a bit of time.

I’m not a developer, but the view I get from following the devs is that there’s a lot of other work behind the scenes that has to take priority for a while. Once all that’s ironed out, I’m betting Krita for Android will be ready for public release really soon. The download links we got here are really a sneak peek before the project is ready.

1 Like

We’re going to hide Krita on the Google Play beta channel for smartphones because of this issue… the UI needs to be fixed a lot so it can fit a smartphone screen, unfortunately.