forked from logseq/logseq
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add bb tasks for mobile app development (logseq#5765)
* add bb tasks for mobile development * update mobile app development readme Co-authored-by: Andelf <[email protected]>
- Loading branch information
Showing
7 changed files
with
194 additions
and
104 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,96 @@ | ||
# iOS development | ||
|
||
## Installation | ||
- Install Xcode 13 from App Store. | ||
- Install [CocoaPods](https://cocoapods.org/) | ||
```shell | ||
sudo gem install cocoapods | ||
``` | ||
Note: use the following commands from *ios/App* directory to fix **ffi_c.bundle** related issue for M1 MacBook [^1]. | ||
```shell | ||
sudo arch -x86_64 gem install ffi | ||
arch -x86_64 pod install | ||
``` | ||
|
||
## Set up development environment | ||
### Build the development app | ||
- comment in `server` section in **capacitor.config.ts**, and replace `process.env.LOGSEQ_APP_ASERVER_URL` with your `http://your-local-ip-address:3001` (run `ifconfig` to check). | ||
```typescript | ||
server: { | ||
url: "process.env.LOGSEQ_APP_ASERVER_URL", | ||
cleartext: true | ||
} | ||
``` | ||
- Run `yarn && yarn app-watch` from the logseq project root directory in terminal. | ||
- Run `npx cap sync ios` in another termimal to copy web assets from public to *ios/App/App/public*, and create *capacitor.config.json* in *ios/App/App*, and update iOS plugins. | ||
- Connect your iOS device to MacBook. | ||
- Run `npx cap open ios` to open Logseq project in Xcode, and build the app there. | ||
|
||
or, you can run `bb dev:ios-app` to do those steps with one command if you are on MacOS. To download bb, see https://github.com/babashka/babashka#installation. Also, in order to use mobile bb tasks on macOS, `gsed` needs to be installed in your system (run `brew install gnu-sed` to install). | ||
|
||
### Build the release app | ||
- Comment out `server` section above in **capacitor.config.ts**. | ||
- Connect your iOS device to MacBook. | ||
- Run `yarn run-ios-release` to install the release app to your iOS device. | ||
|
||
or, you can run `bb release:ios-app` to do those steps with one command. | ||
|
||
[^1] https://github.com/CocoaPods/CocoaPods/issues/10220#issuecomment-730963835 | ||
|
||
|
||
# Android development | ||
## Installation | ||
- Install Android studio [^1] and SDK (newer than 30) tools | ||
Note: for M1 MacBook users. | ||
- Download version **Mac with Apple Chip** | ||
- unzip it and move **Android Studio.app** file to **Applications**, or you will get the following error later. | ||
``` | ||
[error] Unable to launch Android Studio. Is it installed? | ||
Attempted to open Android Studio at: /Applications/Android Studio.app | ||
You can configure this with the CAPACITOR_ANDROID_STUDIO_PATH environment variable. | ||
``` | ||
- In Android Studio, open **Tools** -> **SDK Manager** to install other SDK tools [^2]. | ||
> In the SDK Tools tab, make sure to install at least the following: | ||
>> - Android SDK Build-Tools | ||
>> - Android SDK Command-line Tools | ||
>> - Android Emulator | ||
>> - Android SDK Platform-Tools | ||
|
||
## Set up development environment | ||
### Build the development app | ||
- comment in `server` section in **capacitor.config.ts**, and replace `process.env.LOGSEQ_APP_ASERVER_URL` with your `http://your-local-ip-address:3001` (run `ifconfig` to check). | ||
```typescript | ||
server: { | ||
url: "process.env.LOGSEQ_APP_ASERVER_URL", | ||
cleartext: true | ||
} | ||
``` | ||
- Run `yarn && yarn app-watch` from the logseq project root directory in terminal. | ||
- Run `npx cap sync android` in another termimal. | ||
- Run `npx cap run android` to install app into your device. | ||
|
||
or, you can run `bb dev:android-app` to do those steps with one command if you are on macOS. | ||
|
||
Then, | ||
- In Android Studio, open **Tools** -> **AVD Manager** to create Android Virtual Device (AVD), and lanuch it in the emulator. | ||
- In Android Studio, open **Run** -> **Run** to run Logseq. | ||
- After logseq startup in Android virtual device, repl should be able to connect | ||
- For browser console print and devtool remote debug, open chrome, type url chrome://inspect/#devices, you should see your device there, click inspect | ||
|
||
|
||
### Build a release and install it to your android device | ||
- Comment out `server` section above in **capacitor.config.ts**. | ||
- Connect your device to PC. | ||
- Run `yarn run-android-release`. | ||
|
||
or, you can run `bb release:android-app` to do those steps with one command. | ||
|
||
### Build an apk | ||
- Comment out `server` section above in **capacitor.config.ts**. | ||
- Run `yarn run-android-release` | ||
|
||
or, you can run `bb release:android-app` to do those steps with one command. | ||
|
||
Then, | ||
- In Android Studio, open **Build** -> **Build Bundles / APKs** -> **Build APKs**. | ||
- Get your apk in `android/app/build/apk/debug`. |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
#!/bin/bash | ||
|
||
if uname -s | grep -q Darwin; then | ||
SED=gsed | ||
else | ||
SED=sed | ||
fi | ||
|
||
PROTOCOL="http" | ||
IP=$(ipconfig getifaddr en0) | ||
PORT="3001" | ||
LOGSEQ_APP_SERVER_URL="${PROTOCOL}://${IP}:${PORT}" | ||
echo -e "Server URL: ${LOGSEQ_APP_SERVER_URL}" | ||
|
||
git checkout capacitor.config.ts | ||
$SED -i 's#// , server:# , server:#g' capacitor.config.ts | ||
$SED -i 's#// url:# url:#g' capacitor.config.ts | ||
$SED -i 's#process.env.LOGSEQ_APP_SERVER_URL#"'${LOGSEQ_APP_SERVER_URL}'"#g' capacitor.config.ts | ||
$SED -i 's#// cleartext:# cleartext:#g' capacitor.config.ts | ||
$SED -i 's#// }# }#g' capacitor.config.ts |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters