diff --git a/app/build.gradle.kts b/app/build.gradle.kts index cb456cd..0d26c07 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -18,7 +18,7 @@ android { minSdk = 26 targetSdk = 36 versionCode = 1 - versionName = "0.0.7" + versionName = "0.0.75" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } diff --git a/app/src/main/java/com/baidaidai/rootless_store/MainActivity.kt b/app/src/main/java/com/baidaidai/rootless_store/MainActivity.kt index eb0453b..7fe8209 100644 --- a/app/src/main/java/com/baidaidai/rootless_store/MainActivity.kt +++ b/app/src/main/java/com/baidaidai/rootless_store/MainActivity.kt @@ -35,7 +35,6 @@ class MainActivity : ComponentActivity(){ private var fileIntentUri: Uri? by mutableStateOf(null) - @RequiresApi(Build.VERSION_CODES.TIRAMISU) @OptIn(ExperimentalMaterial3ExpressiveApi::class) override fun onCreate(savedInstanceState: Bundle?) { @@ -66,7 +65,6 @@ class MainActivity : ComponentActivity(){ } - @RequiresApi(Build.VERSION_CODES.TIRAMISU) override fun onNewIntent(intent: Intent) { super.onNewIntent(intent) setIntent(intent) @@ -75,12 +73,17 @@ class MainActivity : ComponentActivity(){ handleFileIntent(intent) } - @RequiresApi(Build.VERSION_CODES.TIRAMISU) private fun handleFileIntent(intent: Intent?) { if (intent?.action != Intent.ACTION_SEND) { this.fileIntentUri = null } - val uri = intent?.getParcelableExtra(Intent.EXTRA_STREAM, Uri::class.java) - this.fileIntentUri = uri + val uri: Uri? = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + intent?.getParcelableExtra(Intent.EXTRA_STREAM, Uri::class.java) + } else { + @Suppress("DEPRECATION") + intent?.getParcelableExtra(Intent.EXTRA_STREAM) + } + + fileIntentUri = uri } } \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 2ac19d7..4e73e51 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,4 +1,4 @@ - RootLess Store - v0.0.7 + Rootless Store + v0.0.75 \ No newline at end of file diff --git a/asset/markdown/release/v0.0.75.md b/asset/markdown/release/v0.0.75.md new file mode 100644 index 0000000..1681b00 --- /dev/null +++ b/asset/markdown/release/v0.0.75.md @@ -0,0 +1,69 @@ +# 隐式导入稳定性修复版 + +Welcome to Rootless Store v0.0.75! + +This update is a small but important stability release focused on fixing the implicit ZIP import flow. In v0.0.75, Rootless Store improves Android version compatibility for shared file handling, resolves a crash in the launch flow, and includes a few consistency updates for naming and preview assets. + +欢迎来到 Rootless Store v0.0.75! + +这是一次体量不大、但很关键的稳定性修复更新,重点放在隐式 ZIP 导入流程上。v0.0.75 进一步完善了共享文件处理时的 Android 版本兼容性,修复了启动链路中的崩溃问题,并顺手补上了一些命名与预览资源的一致性调整。 + +--- + +### What's New in v0.0.75 + +* **Implicit ZIP Launch Fix**: + * **Crash Resolved**: Fixed a crash that could occur when Rootless Store was launched through an implicit ZIP/file-sharing flow. + * **Safer Intent Handling**: Improved how the app reads shared file URIs from incoming intents, making the import entry flow more robust. +* **Android Version Compatibility Improvements**: + * **API-Level Guard Added**: Added Android version checks when resolving shared file data, improving compatibility between newer and older Android versions. +* **Project Consistency Updates**: + * **App Naming Cleanup**: Adjusted the app name presentation for better naming consistency. + * **Shell Preview Refresh**: Updated the Shell screen preview image used in project materials. + +### v0.0.75 更新内容 + +* **隐式 ZIP 启动修复**: + * **崩溃问题修复**: 修复了 Rootless Store 通过隐式 ZIP / 文件分享流程启动时可能发生的崩溃问题。 + * **Intent 处理更稳健**: 优化了应用从外部 Intent 中读取共享文件 URI 的方式,让导入入口链路更加稳定。 +* **Android 版本兼容性提升**: + * **新增 API 版本判断**: 在解析共享文件数据时补充了 Android 版本判断,增强了新旧 Android 版本之间的兼容性。 +* **项目一致性更新**: + * **应用命名整理**: 对应用名称的展示形式做了统一调整,提升命名一致性。 + * **Shell 预览图更新**: 更新了项目资料中使用的 Shell 页面预览图。 + +--- + +### Key Features + +* **More Reliable Import Entry Flow**: Rootless Store now handles implicit ZIP/file launch paths more safely, reducing the chance of crashes during import. +* **Better Android Compatibility**: Shared file intent handling is now more defensive across different Android API levels. +* **Cleaner Project Presentation**: Naming and preview assets continue to be polished for a more consistent project identity. + +### 主要功能 + +* **更可靠的导入入口流程**: Rootless Store 现在能更稳妥地处理隐式 ZIP / 文件启动路径,降低导入时发生崩溃的概率。 +* **更好的 Android 兼容性**: 共享文件 Intent 的处理逻辑现在对不同 Android API 版本做了更稳健的兼容。 +* **更统一的项目展示**: 命名与预览资源持续被整理和打磨,使项目形象更加统一。 + +--- + +### Known Issues & Future Plans + +* This version is mainly a stability patch, so the focus is on fixing edge cases rather than introducing major new features. +* The broader plugin import flow, Shell workflow, and interaction details will continue to be refined in later versions. +* Future updates may continue improving file handoff reliability and cross-version Android behavior. + +### 已知问题与未来计划 + +* 这个版本主要是稳定性补丁,因此重点放在边缘场景修复,而不是引入大规模新功能。 +* 更完整的插件导入流程、Shell 工作流,以及交互细节,后续版本仍会继续完善。 +* 未来更新会继续围绕文件接力的稳定性,以及跨 Android 版本行为的一致性展开优化。 + +--- + +### Thanks + +Thank you for continuing to test and follow Rootless Store. Even small stability fixes like this are important steps toward making the platform more dependable. + +感谢你持续体验并关注 Rootless Store。哪怕是这样的小型稳定性修复,也是让整个平台变得更可靠的重要一步。 diff --git a/asset/picture/ShellScreen.png b/asset/picture/ShellScreen.png index 2666f96..54a4839 100644 Binary files a/asset/picture/ShellScreen.png and b/asset/picture/ShellScreen.png differ