aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Cota <igor@foundationdevices.com>2021-12-12 08:17:12 +0100
committerIgor Cota <igor@foundationdevices.com>2021-12-13 19:27:46 +0100
commit27f353d8efca19bc2f7dc79b09d4737c9401a768 (patch)
treeb7546544926f14d73c139cbdf1355fc87077b9c6
parent6fc5c772d47cca01968c451f070f997c9f7641e0 (diff)
downloadbitcoin-27f353d8efca19bc2f7dc79b09d4737c9401a768.tar.xz
build, android: Fix Android GUI not loading on Qt 5.15
Qt 5.14 introduced certain breaking changes to the way it parses AndroidManifest.xml metadata https://lists.qt-project.org/pipermail/interest/2020-January/034372.html
-rw-r--r--src/Makefile.qt.include3
-rw-r--r--src/qt/android/.gitignore4
-rw-r--r--src/qt/android/AndroidManifest.xml3
-rw-r--r--src/qt/android/res/values/libs.xml17
4 files changed, 21 insertions, 6 deletions
diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include
index 35d5b0004a..6c0e6f7c6f 100644
--- a/src/Makefile.qt.include
+++ b/src/Makefile.qt.include
@@ -394,8 +394,7 @@ bitcoin_qt_apk: FORCE
cp $(dir $(lastword $(CC)))../sysroot/usr/lib/$(host_alias)/libc++_shared.so $(APK_LIB_DIR)
tar xf $(QT_BASE_PATH) -C qt/android/src/ $(QT_BASE_TLD)src/android/jar/src --strip-components=5
tar xf $(QT_BASE_PATH) -C qt/android/src/ $(QT_BASE_TLD)src/android/java/src --strip-components=5
- tar xf $(QT_BASE_PATH) -C qt/android/res/ $(QT_BASE_TLD)src/android/java/res --strip-components=5
- cp qt/bitcoin-qt $(APK_LIB_DIR)/libbitcoin-qt.so
+ cp qt/bitcoin-qt $(APK_LIB_DIR)/libbitcoin-qt_$(ANDROID_ARCH).so
cd qt/android && gradle wrapper --gradle-version=6.6.1
cd qt/android && ./gradlew build
diff --git a/src/qt/android/.gitignore b/src/qt/android/.gitignore
index 74cf42f934..c090a2e98e 100644
--- a/src/qt/android/.gitignore
+++ b/src/qt/android/.gitignore
@@ -1,9 +1,7 @@
/.gradle
/build
-/gradle/wrapper
+/gradle
/gradlew*
/libs
-/res/layout
-/res/values*
/src/org/kde
/src/org/qtproject
diff --git a/src/qt/android/AndroidManifest.xml b/src/qt/android/AndroidManifest.xml
index abb88fe89d..41615294e0 100644
--- a/src/qt/android/AndroidManifest.xml
+++ b/src/qt/android/AndroidManifest.xml
@@ -32,7 +32,8 @@
<meta-data android:name="android.app.background_running" android:value="true"/>
<meta-data android:name="android.app.auto_screen_scale_factor" android:value="true"/>
<meta-data android:name="android.app.extract_android_style" android:value="default"/>
- </activity>
+ <meta-data android:name="android.app.load_local_libs_resource_id" android:resource="@array/load_local_libs"/>
+ </activity>
</application>
</manifest>
diff --git a/src/qt/android/res/values/libs.xml b/src/qt/android/res/values/libs.xml
new file mode 100644
index 0000000000..0f20df4eb0
--- /dev/null
+++ b/src/qt/android/res/values/libs.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <array name="load_local_libs">
+ <item>
+ arm64-v8a;libbitcoin-qt_arm64-v8a.so
+ </item>
+ <item>
+ armeabi-v7a;libbitcoin-qt_armeabi-v7a.so
+ </item>
+ <item>
+ x86_64;libbitcoin-qt_x86_64.so
+ </item>
+ <item>
+ x86;libbitcoin-qt_x86.so
+ </item>
+ </array>
+</resources>