Browse Source

Fix Android emulator API connectivity with cleaner build script approach

- Move Android-specific API server logic from common.sh to build-android.sh
- Remove unnecessary ANDROID_BUILD environment variable
- Set localhost:3000 as default in common.sh for all Capacitor builds
- Override to 10.0.2.2:3000 specifically in build-android.sh for Android development
- Fix execution order issue where common.sh ran before ANDROID_BUILD was set
- Maintain proper separation: Android emulator uses 10.0.2.2, iOS simulator uses localhost
get-get-hash
Matthew Raymer 1 week ago
parent
commit
32f589b866
  1. 5
      android/app/src/main/assets/capacitor.config.json
  2. 2
      android/build.gradle
  3. 5
      capacitor.config.json
  4. 6
      scripts/build-android.sh
  5. 4
      scripts/common.sh

5
android/app/src/main/assets/capacitor.config.json

@ -57,13 +57,14 @@
]
},
"android": {
"allowMixedContent": false,
"allowMixedContent": true,
"captureInput": true,
"webContentsDebuggingEnabled": false,
"allowNavigation": [
"*.timesafari.app",
"*.jsdelivr.net",
"api.endorser.ch"
"api.endorser.ch",
"10.0.2.2:3000"
]
},
"electron": {

2
android/build.gradle

@ -7,7 +7,7 @@ buildscript {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:8.11.1'
classpath 'com.android.tools.build:gradle:8.12.0'
classpath 'com.google.gms:google-services:4.4.0'
// NOTE: Do not place your application dependencies here; they belong

5
capacitor.config.json

@ -57,13 +57,14 @@
]
},
"android": {
"allowMixedContent": false,
"allowMixedContent": true,
"captureInput": true,
"webContentsDebuggingEnabled": false,
"allowNavigation": [
"*.timesafari.app",
"*.jsdelivr.net",
"api.endorser.ch"
"api.endorser.ch",
"10.0.2.2:3000"
]
},
"electron": {

6
scripts/build-android.sh

@ -166,6 +166,12 @@ log_info "Build type: $BUILD_TYPE"
# Setup environment for Capacitor build
setup_build_env "capacitor"
# Override API server for Android emulator development
if [ "$BUILD_MODE" = "development" ]; then
export VITE_DEFAULT_ENDORSER_API_SERVER="http://10.0.2.2:3000"
log_debug "Android development mode: Using 10.0.2.2 for emulator, production for Image/Partner APIs"
fi
# Setup application directories
setup_app_directories

4
scripts/common.sh

@ -197,10 +197,12 @@ setup_build_env() {
# Set API server environment variables based on build mode
if [ "$BUILD_MODE" = "development" ]; then
# For Capacitor development, use localhost by default
# Android builds will override this in build-android.sh
export VITE_DEFAULT_ENDORSER_API_SERVER="http://localhost:3000"
log_debug "Development mode: Using localhost for Endorser API, production for Image/Partner APIs"
export VITE_DEFAULT_IMAGE_API_SERVER="https://image-api.timesafari.app"
export VITE_DEFAULT_PARTNER_API_SERVER="https://partner-api.endorser.ch"
log_debug "Development mode: Using localhost for Endorser API, production for Image/Partner APIs"
elif [ "$BUILD_MODE" = "test" ]; then
export VITE_DEFAULT_ENDORSER_API_SERVER="https://test-api.endorser.ch"
export VITE_DEFAULT_IMAGE_API_SERVER="https://image-api.timesafari.app"

Loading…
Cancel
Save