Skip to content

Conversation

BlockMechanic
Copy link
Contributor

@BlockMechanic BlockMechanic commented Sep 19, 2019

Build with :-

make HOST=i686-linux-android ANDROID_API_LEVEL=24 ANDROID_TARGET_ARCH=x86 ANDROID_TOOLCHAIN_BIN=/opt/android_ndk/toolchains/llvm/prebuilt/linux-x86_64/bin ANDROID_SDK=/opt/android-sdk-linux ANDROID_NDK=/opt/android_ndk -j 4

This gets you up to a binary. I am working on the final steps to produce an APK

Fixes missing destructor in abstract class CBlockHeader. Not an error but introduces annoying warnings if compiling with clang.
Known working android QT build depends modifications. It needs clean up though. Please note, i use QT 5.12.4
@BlockMechanic BlockMechanic changed the title Android build WIP QT Android Build Sep 19, 2019
@icota
Copy link
Contributor

icota commented Sep 19, 2019

Thanks @BlockMechanic. I see some commits here that are not really related to Qt or Android so you should clean that up first. Also bumping the Qt version should probably be a separate PR and even then quite controversial. What I find useful from this PR is the 32-bit support which I don't personally care for (don't see the point going forward) but maybe best to work that in on top of #16110.

@Sjors
Copy link
Member

Sjors commented Sep 19, 2019

Rebasing this on #16110 would be nice; that way I can test if that PR actually works on a device rather than just compiles.

Eventually the QT upgrade should be its own PR, but just keep it in here for now; pending more conceptual discussion. We occasionally open an issue to bump the QT version in depends (relevant for this), as well as the minimum supported QT version (not really relevant). See also discussion about macOS and QT 5.12 in #16392.

Once you figured out how to build an APK, the next important question, brought up in #16883 is whether this APK can built with Gitian, in particular: if there are any non-deterministic build steps.

Fix to allow configure to detect at
@DrahtBot
Copy link
Contributor

DrahtBot commented Sep 19, 2019

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Conflicts

Reviewers, this pull request conflicts with the following ones:

  • #17008 (build: bump libevent to 2.1.11 in depends by stefanwouldgo)
  • #16949 (build: only pass --disable-dependency-tracking to packages that understand it by fanquake)
  • #16110 (depends: Add Android NDK support by icota)

If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

@cvengler
Copy link
Contributor

~0
Even though I like the support of multiple platforms I'm a bit suspicious if it would be worth to support android as well.

@BlockMechanic
Copy link
Contributor Author

~0
Even though I like the support of multiple platforms I'm a bit suspicious if it would be worth to support android as well.

  1. Most of the world uses mobile devices
  2. The most popular operating system in the world is android..

Fact is , when it comes to pure numbers, they actually encourage mobile centric development more than desktops....

I can see the points of resistance that may arise but i think it's fair to say that while originally desktop based, bitcoin core (at least the GUI) is long overdue mobile options as the world clearly favours the mobile experience.

@maflcko
Copy link
Member

maflcko commented Sep 19, 2019

I think we should support any platform as long as there is at least one maintaining it for a (small) user base

@cvengler
Copy link
Contributor

@MarcoFalke I agree but that was point of my criticism that it would need someone to maintain it and test it

@cvengler
Copy link
Contributor

Well in theory everything needs a maintainer but it would be much easier to find someone for the current stuff I think

@fanquake
Copy link
Member

I agree with the other commenters here; can you please rebase this on top of #16110. It looks like the majority of commits/changes here will actually disappear. For the changes that are left, can you split them into separate commits, with appropriate descriptions.

As pointed out above, we're not going to bump Qt in this PR, as when we upgrade the version of Qt we use in depends we have to consider much more than just Android support.

@BlockMechanic
Copy link
Contributor Author

i seem to have messed up this branch on my local, so i am re-doing this PR rebased on current master.

@BlockMechanic
Copy link
Contributor Author

I messed up on my local and ended up creating a new rebased version that has the overall work broken up into smaller parts. see :- #17078

@BlockMechanic BlockMechanic deleted the android-build branch October 8, 2019 18:06
@BlockMechanic BlockMechanic restored the android-build branch October 8, 2019 18:06
@Sjors
Copy link
Member

Sjors commented Oct 8, 2019

It's usually not necessary to make a new PR; you can just delete the broken branch on your local machine, create a new branch with the same name and then force push it.

@BlockMechanic
Copy link
Contributor Author

It's usually not necessary to make a new PR; you can just delete the broken branch on your local machine, create a new branch with the same name and then force push it.

Ah... i'll try that. I had seen some PRs with force push but had no idea how to make it happen

@bitcoin bitcoin locked as resolved and limited conversation to collaborators Dec 16, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants