|
|
@@ -368,7 +368,11 @@ Book sources, RSS sources, and HTTP TTS use JavaScript rules. `initRhino()` in `
|
|
|
## Important Constraints
|
|
|
|
|
|
- **Do not update jsoup** beyond 1.16.2 — a breaking change in newer versions (see [jsoup#2017](https://github.com/jhy/jsoup/pull/2017)) affects `AnalyzeByJSoup.kt` and the JsoupXpath library
|
|
|
-- Hutool dependency removed — crypto/编码/日期工具已替换为 JCA (`javax.crypto`/`java.security`) 与 `java.time`,新增内部工具在 `help/crypto/CryptoUtils.kt`
|
|
|
+- Hutool is back on the classpath at 5.8.22 (do not upgrade). Book-source JS calls it via
|
|
|
+ `Packages.cn.hutool.*`; app-internal **base64 decoding** in `help/crypto/CryptoUtils.kt` also
|
|
|
+ routes through `cn.hutool.core.codec.Base64.decode` for lenient input compatibility (Kotlin
|
|
|
+ `kotlin.io.encoding.Base64` is strict about `=` padding). App crypto otherwise uses JCA (
|
|
|
+ `javax.crypto`/`java.security`); new internal tools live in `help/crypto/CryptoUtils.kt`
|
|
|
- Package name discrepancy: code namespace is `io.legado.app` but `applicationId` is `io.legato.kazusa`
|
|
|
- Min SDK 26, target SDK 37, compile SDK 37
|
|
|
- Release builds enable R8 minification + resource shrinking; `noR8` variant disables both for crash debugging
|