uni-app应用中谷歌审核提示与Kotlin不兼容会导致应用崩溃
uni-app应用中谷歌审核提示与Kotlin不兼容会导致应用崩溃
谷歌商店审核提示
问题描述
想问下,谷歌商店审核提示
与 Kotlin 不兼容会导致应用崩溃
您的应用使用了 Kotlin 的 removeFirst()
和 removeLast()
扩展函数,这与 Android 15 中的 Java 函数冲突。这会导致应用在搭载 Android 14 或更低版本的设备上崩溃。您的应用在以下位置使用了这些函数:
io.dcloud.uts.StringKt.split
io.dcloud.uts.StringKt.split
为避免应用崩溃,我们建议将所有 Kotlin removeFirst()
和 removeLast()
函数调用替换为 removeAt(0)
和 removeAt(list.lastIndex)
。
是我调用了什么API导致的么?
我这个项目基本没使用第三方的库
警告信息
1. 系统可能不会面向所有用户显示无边框画面
从 Android 15 开始,所有以 SDK 35 为目标平台的应用在默认情况下都将采用无边框画面。以 SDK 35 为目标平台的应用应处理边衬区,以确保其应用能够在 Android 15 及更高版本上正确显示。我们建议您调查此问题,留出时间对应用进行无边框设计测试,并对代码进行所需的更新。或者,您也可以调用 enableEdgeToEdge()
(对于 Kotlin)或 EdgeToEdge.enable()
(对于 Java)以实现向后兼容性。
2. 您的应用使用已弃用的 API 或参数来实现无边框设计
您使用的一个或多个 API 或您为无边框设计和窗口显示设置的参数已在 Android 15 中被弃用。您的应用使用了以下已弃用的 API 或参数:
android.view.Window.setNavigationBarColor
android.view.Window.setStatusBarColor
android.view.Window.getStatusBarColor
io.dcloud.common.DHInterface.ITitleNView.setStatusBarColor
LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES
LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT
这些 API 或参数从以下位置开始:
com.dcloud.android.widget.TabView$6.run
com.dmcbig.mediapicker.PickerActivity.setTopAndBottomBarColor
com.dmcbig.mediapicker.PreviewActivity.setTopAndBottomBarColor
io.dcloud.WebAppActivity.onCreateSplash
io.dcloud.WebviewActivity.setImmersive
io.dcloud.b.onResume
io.dcloud.common.util.AppStatusBarManager.setImmersive
io.dcloud.common.util.AppStatusBarManager.setStatusBarColor
io.dcloud.common.util.TitleNViewUtil.updateTitleNViewStatus
io.dcloud.feature.gallery.imageedit.a.onCreate
io.dcloud.feature.nativeObj.photoview.PhotoActivity.fullScreen
f1.a.a
io.dcloud.common.util.AppStatusBarManager.setFullScreen
请停止使用这些 API 或参数,以便为适应 Android 15 的变化做好准备。
收到,在处理
我加你QQ了 你通过一下
我也遇到了,该怎么处理呢?
在处理uni-app应用中遇到的谷歌审核提示与Kotlin不兼容导致的应用崩溃问题时,首先需要明确的是,uni-app本身是基于Vue.js开发的一套前端框架,它通常通过编译打包为原生应用(如Android的APK)进行发布。在这个过程中,uni-app会使用HBuilderX等工具将Vue代码转换为原生代码,包括Java或Kotlin代码(对于Android平台)。
以下是一个可能的解决方案,展示如何通过调整uni-app项目中的配置来尝试解决与Kotlin不兼容的问题。请注意,这只是一个示例,具体情况可能需要根据项目的实际结构和依赖进行调整。
-
检查并更新uni-app和HBuilderX版本: 确保你使用的uni-app和HBuilderX是最新版本,因为新版本可能已经修复了一些与Kotlin兼容性的问题。
-
修改
manifest.json
配置: 在uni-app项目的manifest.json
文件中,你可以指定使用Java而非Kotlin进行Android原生代码的生成。虽然uni-app默认可能使用Kotlin,但你可以尝试显式地设置使用Java。{ "mp-weixin": {}, "app-plus": { "distribute": { "android": { "usingComponents": false, "compileOptions": { "enableKotlin": false // 显式设置不使用Kotlin } } } } }
-
清理并重新构建项目: 在HBuilderX中,执行“发行”->“原生App-云打包”->“打包Android App”,并确保在打包设置中选择了正确的配置。在打包前,最好先执行“清理项目”操作,以确保所有旧的构建文件都被删除。
-
检查第三方插件和依赖: 如果你的项目中使用了第三方插件或依赖,确保它们也与你的配置兼容。有时候,第三方库可能依赖于特定版本的Kotlin,这可能会导致兼容性问题。
-
测试应用: 在修改配置并重新构建应用后,务必在多种设备和Android版本上进行充分测试,以确保应用在不同环境下的稳定性和兼容性。
-
提交审核: 在确认应用在不同环境下均能稳定运行后,再次提交应用至谷歌商店进行审核。
请注意,上述解决方案可能并不适用于所有情况,特别是如果问题是由特定的第三方库或复杂的项目结构引起的。在这种情况下,可能需要更深入地分析项目的依赖关系和构建配置。