jellytau/src-tauri/android/README_ANDROID_BUILD.md

1.7 KiB

⚠️ IMPORTANT: Android Build File Locations

Critical Information for Future Development

DO NOT EDIT FILES IN src-tauri/gen/android/ DIRECTLY!

File Structure

This project has TWO sets of Android source files:

  1. src-tauri/android/ - SOURCE FILES (edit these!)

    • This is the template directory
    • Changes here need to be copied to the generated directory
  2. src-tauri/gen/android/ - GENERATED BUILD DIRECTORY (do not edit directly!)

    • This is where Gradle actually builds the APK
    • Files here may be overwritten during builds

How to Make Changes to Android Code

When you need to modify Android/Kotlin files:

  1. Edit the files in src-tauri/android/src/main/java/

  2. Build using the provided script (which auto-syncs files)

    ./scripts/build-android.sh
    

    The build script automatically runs ./scripts/sync-android-sources.sh which copies:

    • src-tauri/android/src/main/java/com/dtourolle/jellytau/player/ → generated directory
    • src-tauri/android/src/main/java/com/dtourolle/jellytau/security/ → generated directory
  3. Manual sync (if needed)

    ./scripts/sync-android-sources.sh
    

Why This Matters

  • If you only edit src-tauri/gen/android/, your changes will be lost
  • If you only edit src-tauri/android/, your changes won't be in the build
  • You must edit both (or edit source and copy to generated)

Key Files

Player-related Kotlin files:

  • player/JellyTauPlayer.kt - Main player implementation
  • player/JellyTauPlaybackService.kt - MediaSession service for lockscreen controls
  • security/SecureStorage.kt - Android Keystore integration for secure credential storage

Always check BOTH locations exist and match after making changes!