android build: factor out package name ("org.electrum.electrum")
to make it easier to change, to make it easy to have a co-existing mainnet and testnet install (or two mainnet installs, etc)
This commit is contained in:
@@ -42,6 +42,11 @@ pushd "$CONTRIB_ANDROID"
|
|||||||
|
|
||||||
info "apk building phase starts."
|
info "apk building phase starts."
|
||||||
|
|
||||||
|
# Uncomment and change below to set a custom android package id,
|
||||||
|
# e.g. to allow simultaneous mainnet and testnet installs of the apk.
|
||||||
|
# export APP_PACKAGE_NAME=Electrum
|
||||||
|
# export APP_PACKAGE_DOMAIN=org.electrum
|
||||||
|
|
||||||
if [ ! $CI ]; then
|
if [ ! $CI ]; then
|
||||||
# override log level specified in buildozer.spec to "debug":
|
# override log level specified in buildozer.spec to "debug":
|
||||||
export BUILDOZER_LOG_LEVEL=2
|
export BUILDOZER_LOG_LEVEL=2
|
||||||
|
|||||||
@@ -310,17 +310,15 @@ class Logger:
|
|||||||
|
|
||||||
|
|
||||||
def configure_logging(config: 'SimpleConfig', *, log_to_file: Optional[bool] = None) -> None:
|
def configure_logging(config: 'SimpleConfig', *, log_to_file: Optional[bool] = None) -> None:
|
||||||
|
from .util import is_android_debug_apk
|
||||||
|
|
||||||
verbosity = config.get('verbosity')
|
verbosity = config.get('verbosity')
|
||||||
verbosity_shortcuts = config.get('verbosity_shortcuts')
|
verbosity_shortcuts = config.get('verbosity_shortcuts')
|
||||||
_configure_stderr_logging(verbosity=verbosity, verbosity_shortcuts=verbosity_shortcuts)
|
_configure_stderr_logging(verbosity=verbosity, verbosity_shortcuts=verbosity_shortcuts)
|
||||||
|
|
||||||
if log_to_file is None:
|
if log_to_file is None:
|
||||||
log_to_file = config.get('log_to_file', False)
|
log_to_file = config.get('log_to_file', False)
|
||||||
is_android = 'ANDROID_DATA' in os.environ
|
log_to_file |= is_android_debug_apk()
|
||||||
if is_android:
|
|
||||||
from jnius import autoclass
|
|
||||||
build_config = autoclass("org.electrum.electrum.BuildConfig")
|
|
||||||
log_to_file |= bool(build_config.DEBUG)
|
|
||||||
if log_to_file:
|
if log_to_file:
|
||||||
log_directory = pathlib.Path(config.path) / "logs"
|
log_directory = pathlib.Path(config.path) / "logs"
|
||||||
_configure_file_logging(log_directory)
|
_configure_file_logging(log_directory)
|
||||||
|
|||||||
@@ -444,7 +444,8 @@ def android_ext_dir():
|
|||||||
return primary_external_storage_path()
|
return primary_external_storage_path()
|
||||||
|
|
||||||
def android_backup_dir():
|
def android_backup_dir():
|
||||||
d = os.path.join(android_ext_dir(), 'org.electrum.electrum')
|
pkgname = get_android_package_name()
|
||||||
|
d = os.path.join(android_ext_dir(), pkgname)
|
||||||
if not os.path.exists(d):
|
if not os.path.exists(d):
|
||||||
os.mkdir(d)
|
os.mkdir(d)
|
||||||
return d
|
return d
|
||||||
@@ -511,6 +512,26 @@ def get_new_wallet_name(wallet_folder: str) -> str:
|
|||||||
return filename
|
return filename
|
||||||
|
|
||||||
|
|
||||||
|
def is_android_debug_apk() -> bool:
|
||||||
|
is_android = 'ANDROID_DATA' in os.environ
|
||||||
|
if not is_android:
|
||||||
|
return False
|
||||||
|
from jnius import autoclass
|
||||||
|
pkgname = get_android_package_name()
|
||||||
|
build_config = autoclass(f"{pkgname}.BuildConfig")
|
||||||
|
return bool(build_config.DEBUG)
|
||||||
|
|
||||||
|
|
||||||
|
def get_android_package_name() -> str:
|
||||||
|
is_android = 'ANDROID_DATA' in os.environ
|
||||||
|
assert is_android
|
||||||
|
from jnius import autoclass
|
||||||
|
from android.config import ACTIVITY_CLASS_NAME
|
||||||
|
activity = autoclass(ACTIVITY_CLASS_NAME).mActivity
|
||||||
|
pkgname = str(activity.getPackageName())
|
||||||
|
return pkgname
|
||||||
|
|
||||||
|
|
||||||
def assert_bytes(*args):
|
def assert_bytes(*args):
|
||||||
"""
|
"""
|
||||||
porting helper, assert args type
|
porting helper, assert args type
|
||||||
|
|||||||
@@ -324,10 +324,8 @@ def main():
|
|||||||
if is_android:
|
if is_android:
|
||||||
import importlib.util
|
import importlib.util
|
||||||
android_gui = 'kivy' if importlib.util.find_spec('kivy') else 'qml'
|
android_gui = 'kivy' if importlib.util.find_spec('kivy') else 'qml'
|
||||||
from jnius import autoclass
|
|
||||||
build_config = autoclass("org.electrum.electrum.BuildConfig")
|
|
||||||
config_options = {
|
config_options = {
|
||||||
'verbosity': '*' if build_config.DEBUG else '',
|
'verbosity': '*' if util.is_android_debug_apk() else '',
|
||||||
'cmd': 'gui',
|
'cmd': 'gui',
|
||||||
'gui': android_gui,
|
'gui': android_gui,
|
||||||
'single_password':True,
|
'single_password':True,
|
||||||
|
|||||||
Reference in New Issue
Block a user