AniZen Dev Ops
Instructions
- •
Deploy & Watch: When the user wants to push changes or "deploy", run the
deploy.shscript.bash./anikku-dev/scripts/deploy.sh "Your commit message here"
- •
Handle Success:
- •If the script exits with 0 (Success), inform the user that the build passed and the APK is ready (instruct them where to find it on GitHub).
- •
Handle Failure:
- •If the script exits with 1 (Failure), it will automatically save the error logs to
build_error.login the current directory. - •IMMEDIATELY read
build_error.log. - •Analyze the error.
- •Plan a Fix: Propose or implement a fix based on the error.
- •Retry: After fixing, ask the user if they want to try deploying again.
- •If the script exits with 1 (Failure), it will automatically save the error logs to
Maintenance & Mod Notes
1. Download Engine
- •Multi-threaded Logic: Located in
core:commonmodule (NetworkHelper.kt). UsesRandomAccessFileandRangeheaders. - •Import Constraints: In
Downloader.kt, always use fully qualified names forjava.io.Fileandjava.io.InputStreamto avoid collision withcom.hippo.unifile.UniFileand internal project symbols.
2. Build Stability
- •String Resources: Release builds use strict AAPT2 validation. All strings with multiple placeholders (e.g.,
%s %d) MUST use positional markers (e.g.,%1$s %2$d). If build fails with "Multiple substitutions", checki18nmodule XMLs. - •Keystore: The release keystore
app/anikku-mod.jksis tracked in Git. Password issalman2005.
3. Performance Optimizations
- •Batch Status:
AnimeScreenModel.ktuses a batch check for downloaded directory names to avoid UI stutters when scrolling large lists.
Scripts
- •
deploy.sh: Commits, pushes, watches the build, and downloads logs on failure.