Skip to content

Commit

Permalink
Use mock for android build
Browse files Browse the repository at this point in the history
  • Loading branch information
PeterSurda committed Jul 24, 2024
1 parent 759c622 commit cf37169
Show file tree
Hide file tree
Showing 6 changed files with 59 additions and 12 deletions.
2 changes: 1 addition & 1 deletion .buildbot/android/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ RUN apt-get -y update -qq \
RUN apt-get -y install -qq --no-install-recommends openjdk-17-jdk \
&& apt-get -y autoremove

RUN pip install pip install buildozer cython virtualenv
RUN pip install buildozer cython virtualenv


ENV ANDROID_NDK_HOME="${ANDROID_HOME}/android-ndk"
Expand Down
12 changes: 12 additions & 0 deletions .buildbot/android/build.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,18 @@
#!/bin/bash
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8

# buildozer OOM workaround
mkdir -p ~/.gradle
echo "org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8" \
> ~/.gradle/gradle.properties

# workaround for symlink
rm -rf src/pybitmessage
mkdir -p src/pybitmessage
cp src/*.py src/pybitmessage
cp -r src/bitmessagekivy src/backend src/mockbm src/pybitmessage

pushd packages/android

BUILDMODE=debug
Expand Down
4 changes: 2 additions & 2 deletions packages/android/buildozer.spec
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ package.domain = at.bitmessage
source.dir = ../../src

# (list) Source files to include (let empty to include all the files)
source.include_exts = py,png,jpg,kv,atlas,tflite,sql
source.include_exts = py,png,jpg,kv,atlas,tflite,sql,json

# (list) List of inclusions using pattern matching
#source.include_patterns = assets/*,images/*.png
Expand All @@ -36,7 +36,7 @@ version = 0.1.1

# (list) Application requirements
# comma separated e.g. requirements = sqlite3,kivy
requirements = python3,kivy
requirements = python3,kivy,sqlite3,kivymd==1.0.2,Pillow,opencv,kivy-garden.qrcode,qrcode,typing_extensions,libpng

# (str) Custom source folders for requirements
# Sets custom source for any requirements with recipes
Expand Down
13 changes: 13 additions & 0 deletions src/main-android-live.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
"""This module is for thread start."""
import state
import sys
from bitmessagemain import main
from termcolor import colored
print(colored('kivy is not supported at the moment for this version..', 'red'))
sys.exit()


if __name__ == '__main__':
state.kivy = True
print("Kivy Loading......")
main()
36 changes: 27 additions & 9 deletions src/main.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,31 @@
"""This module is for thread start."""
# pylint: disable=unused-import, wrong-import-position, ungrouped-imports
# flake8: noqa:E401, E402

"""Mock kivy app with mock threads."""

import os
from kivy.config import Config
from mockbm import multiqueue
import state
import sys
from bitmessagemain import main
from termcolor import colored
print(colored('kivy is not supported at the moment for this version..', 'red'))
sys.exit()

from mockbm.class_addressGenerator import FakeAddressGenerator # noqa:E402
from bitmessagekivy.mpybit import NavigateApp # noqa:E402
from mockbm import network # noqa:E402

stats = network.stats
objectracker = network.objectracker


def main():
"""main method for starting threads"""
addressGeneratorThread = FakeAddressGenerator()
addressGeneratorThread.daemon = True
addressGeneratorThread.start()
state.kivyapp = NavigateApp()
state.kivyapp.run()
addressGeneratorThread.stopThread()


if __name__ == '__main__':
state.kivy = True
print("Kivy Loading......")
if __name__ == "__main__":
os.environ['INSTALL_TESTS'] = "True"
main()
4 changes: 4 additions & 0 deletions src/pyelliptic/openssl.py
Original file line number Diff line number Diff line change
Expand Up @@ -805,6 +805,10 @@ def loadOpenSSL():
'libcrypto.dylib', '/usr/local/opt/openssl/lib/libcrypto.dylib'])
elif 'win32' in sys.platform or 'win64' in sys.platform:
libdir.append('libeay32.dll')
# kivy
elif 'ANDROID_ARGUMENT' in environ:
libdir.append('libcrypto1.1.so')
libdir.append('libssl1.1.so')
else:
libdir.append('libcrypto.so')
libdir.append('libssl.so')
Expand Down

0 comments on commit cf37169

Please sign in to comment.