Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

developmentDebug crashes on startup without app_keys.txt (Koin not started)

Aperta
#315 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
76/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
kotlin
Ambito
mobile

Direzione di ricerca

Build and launch :androidApp:assembleDevelopmentDebug from a checkout without app_keys.txt to reproduce the startup crash. Read AppConfig.default in data/src/commonMain/kotlin/com/blockstream/data/data/AppConfig.kt and initKoinAndroid in androidApp/src/main/java/com/blockstream/green/di/KoinAndroid.kt, focusing on the logger access before Koin initialization. Done means the public no-key development APK reaches the welcome screen without the KoinApplication exception.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Steps to reproduce

Tested at commit 8062ee10a546fe408987366616cd5c4823b7e03c on an Android API 36 x86_64 emulator.

  1. Use a clean public checkout without app_keys.txt. The build script substitutes an empty string when this file is absent (androidApp/build.gradle.kts:37); the development flavor enables Lightning (line 73).
  2. Build :androidApp:assembleDevelopmentDebug, install the APK, and launch it.

Observed: the app crashes before its first screen. I reproduced this on two launches. One captured crash is shown below.

Captured AndroidRuntime excerpt
09-25 20:04:49.553 E/AndroidRuntime( 5645): FATAL EXCEPTION: main
09-25 20:04:49.553 E/AndroidRuntime( 5645): Process: com.greenaddress.greenbits_android_wallet.dev, PID: 5645
09-25 20:04:49.553 E/AndroidRuntime( 5645): Caused by: java.lang.IllegalStateException: KoinApplication has not been started
09-25 20:04:49.553 E/AndroidRuntime( 5645):     at com.blockstream.utils.Loggable.getKoin(Loggable.kt:9)
09-25 20:04:49.553 E/AndroidRuntime( 5645):     at com.blockstream.utils.Loggable.getLogger(Loggable.kt:11)
09-25 20:04:49.553 E/AndroidRuntime( 5645):     at com.blockstream.data.data.AppConfig$Companion.default(AppConfig.kt:31)
09-25 20:04:49.553 E/AndroidRuntime( 5645):     at com.blockstream.green.di.KoinAndroidKt.initKoinAndroid(KoinAndroid.kt:34)
09-25 20:04:49.553 E/AndroidRuntime( 5645):     at com.blockstream.green.GreenApplication.onCreate(GreenApplication.kt:35)
Why it crashes

When Lightning is enabled but the keys are absent, AppConfig.default calls its Koin-backed logger (data/src/commonMain/kotlin/com/blockstream/data/data/AppConfig.kt:30-32). initKoinAndroid constructs AppConfig first (androidApp/src/main/java/com/blockstream/green/di/KoinAndroid.kt:34-42) and only calls initKoin at line 44. The logger therefore reaches Koin before initialization.

As a diagnostic check, I removed only that early logging branch in a separate checkout and rebuilt. The app then reached the welcome screen and allowed creation of a disposable empty testnet wallet. That local change is not a complete proposed fix; the clean checkout remains unchanged.

Expected: the public no-key development build starts. This condition could be logged after Koin initializes or through a logger safe to use before initialization.

Scope: this is a locally built developmentDebug APK. I did not test an official signed production APK or claim that it crashes in production.

Lingua principale
Kotlin
Stelle
271
Fork
108
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di Blockstream/green_android

Tutte le issue di Blockstream/green_android

Issue simili

Altre issue su Kotlin

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.