You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commits removes the old 1.x Android legacy code, which was using
the eclair-core Scala library. This version has been deprecated 18 months
ago and all legacy channels have now been closed.
This includes code that was added in the modern android app to manage
the switch to the legacy app, as well as the migration. Gone as well
is the special init TLV sent to the peer to check for legacy channels.
Copy file name to clipboardexpand all lines: BUILD.md
+16-33
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,6 @@
1
1
# Building
2
2
3
-
This document explains how to build Phoenix for iOS or for Android. Phoenix is a [Kotlin Multiplatform Mobile](https://kotlinlang.org/docs/mobile/home.html) application. It can run on many different platforms, including mobile devices (iOS and Android).
4
-
5
-
Note: that the legacy Android app is now a library within a new Android app. To build the old versions of this app, checkout one of the `android-legacy-vXX` tags, and follow the build instructions.
3
+
This document explains how to build Phoenix for iOS or for Android.
6
4
7
5
## Requirements
8
6
@@ -12,9 +10,11 @@ You'll need to install the following:
12
10
13
11
## Build lightning-kmp
14
12
15
-
Phoenix is an actual lightning node running on your phone. It contains much of the bitcoin/lightning protocol. For that, Phoenix relies on the [lightning-kmp](https://github.com/ACINQ/lightning-kmp) library. Tags of this library are released on public maven repository, but this repository may from time to time use a SNAPSHOT development version.
13
+
Phoenix is an actual lightning node running on your phone. It contains much of the bitcoin/lightning protocol, contained in the [lightning-kmp](https://github.com/ACINQ/lightning-kmp) library, also developed by ACINQ.
14
+
15
+
Tags of the lightning-kmp library are released on public Maven repository, so you'll likely not have to build it yourself.
16
16
17
-
When that happens, you will have to build this library yourself on your local machine. To do that, follow those [instructions](https://github.com/ACINQ/lightning-kmp/blob/master/BUILD.md).
17
+
However, from time to time, Phoenix uses a SNAPSHOT development version of lightning-kmp. When that happens, you will have to build this library yourself on your local machine. To do that, follow [the lightning-kmp build instructions](https://github.com/ACINQ/lightning-kmp/blob/master/BUILD.md).
This module contains an older version of the Android application. This version is now an AAR, that is a Android library (and not a standalone application). It is embedded within the new `phoenix-android` app and must be built if you want to run the Android application.
31
-
32
-
Follow [those instructions](https://github.com/ACINQ/phoenix/blob/master/phoenix-legacy/BUILD.md) to build the legacy app.
33
-
34
-
Note:
35
-
- in the future, the legacy app code will be removed and the modern Android app won't have this dependency anymore.
36
-
- iOS developers who don't need the Android app and wish to save time can do so by [skipping the Android app altogether](#skipping-the-android-app).
37
-
38
28
### The `phoenix-shared` module
39
29
40
-
This module is where [Kotlin Multiplatform Mobile](https://kotlinlang.org/docs/mobile/home.html) is used. The code written in Kotlin is shared between the Android and the iOS application. It contains common logic, such as the database queries, or the MVI controllers. Development on this module should be done with Android Studio.
30
+
Like the lightning-kmp library, Phoenix shares some logic between the Android and the iOS application, thanks to [Kotlin Multiplatform](https://www.jetbrains.com/kotlin-multiplatform/). This includes database queries, or the some view controllers, and more (but not the UI!). The `phoenix-shared`module is where this cross-platform code is contained.
41
31
42
-
You do not need to run a command to build this module. It will be built automatically whether you're building the Android or the iOS app:
43
-
44
-
- the `phoenix-android` module has a direct gradle dependency to this module, so Android Studio will build it automatically when building the Android app.
45
-
46
-
- when building the iOS app, XCode will automatically call this command:
@@ -64,21 +31,11 @@ RUN mkdir /usr/local/android-sdk && \
64
31
rm ${ANDROID_CMDLINETOOLS_FILE}
65
32
66
33
# install sdk packages
67
-
RUN echo y | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager "build-tools;${ANDROID_BUILD_TOOLS_VERSION}""cmake;${CMAKE_VERSION}""ndk;${ANDROID_NDK_VERSION}""platforms;${ANDROID_API_LEVELS}"
68
-
69
-
# build tor library
70
-
RUN git clone https://github.com/ACINQ/Tor_Onion_Proxy_Library && \
71
-
cd Tor_Onion_Proxy_Library && \
72
-
./gradlew :universal:build && \
73
-
./gradlew :universal:publishToMavenLocal && \
74
-
./gradlew :android:build && \
75
-
./gradlew :android:publishToMavenLocal
34
+
RUN echo y | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager "build-tools;${ANDROID_BUILD_TOOLS_VERSION}""platforms;${ANDROID_API_LEVELS}"
@@ -32,9 +32,6 @@ Phoenix is separated in 3 modules:
32
32
33
33
Instructions to build the iOS and the Android apps are provided [here](https://github.com/ACINQ/phoenix/blob/master/BUILD.md).
34
34
35
-
Deprecated module:
36
-
-`phoenix-legacy`: contains the old, legacy Android application (version 1.x), using [eclair-core](https://github.com/ACINQ/eclair) for Lightning, which has been replaced by `phoenix-android`. However, this legacy app is still embedded in the new production application for migration purposes so the code remains. It will be removed eventually.
37
-
38
35
## Contribute
39
36
40
37
We use GitHub for bug tracking. Search [the existing issues](https://github.com/ACINQ/phoenix/issues) for your bug and create a new one if needed.
0 commit comments