uni-app Android studio 高版本的设备 一直停留在启动页 过不去,报错

发布于 1周前 作者 sinazl 来自 Uni-App

uni-app Android studio 高版本的设备 一直停留在启动页 过不去,报错
## 操作步骤 android studio 运行虚拟机,打出来的包 直接安装到手机

预期结果

启动页会loading完会关闭

实际结果

启动页一直在loading

bug描述

低版本虚拟机API 28没问题, 下面有截图
我自己的小米手机也打不开 android12
同事的华手机 也打不开

高版本会有下面是报错信息

--------- beginning of system
--------- beginning of crash
2025-01-03 15:08:51.184   596-3064  ActivityManager         pid-596                              E  ANR in com.android.systemui
PID: 960
Reason: executing service com.android.systemui/.dump.SystemUIAuxiliaryDumpService, waited 26004ms
ErrorId: c829184f-1c00-4265-937b-74d94db78c6d
Frozen: false
Load: 58.78 / 25.25 / 9.7
----- Output from /proc/pressure/memory -----
some avg10=92.54 avg60=44.68 avg300=12.26 total=40673805
full avg10=1.34 avg60=0.96 avg300=0.28 total=1169382
----- End output from /proc/pressure/memory -----
----- Output from /proc/pressure/cpu -----
some avg10=99.65 avg60=96.24 avg300=49.90 total=204407239
full avg10=0.00 avg60=0.00 avg300=0.00 total=0
----- End output from /proc/pressure/cpu -----
----- Output from /proc/pressure/io -----
some avg10=6.70 avg60=8.48 avg300=4.91 total=22385439
full avg10=0.00 avg60=0.03 avg300=0.10 total=821658
----- End output from /proc/pressure/io -----

2 回复

使用最新的离线SDK试一下,我这边试了最新的没问题。


针对你提到的uni-app在Android Studio高版本设备上启动页卡住的问题,这通常与多种因素有关,包括但不限于Android版本兼容性、依赖库版本、权限设置、启动配置等。以下是一些可能的解决思路,并附上相关代码或配置示例,供你参考和调试:

1. 检查AndroidManifest.xml配置

确保AndroidManifest.xml中的activity配置正确,特别是启动页的activity。例如:

<activity
    android:name=".MainActivity"
    android:launchMode="singleTask"
    android:theme="@style/AppTheme.Launch">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

2. 检查启动页逻辑

确保启动页没有执行耗时操作,或者如果必须执行,考虑使用异步处理。例如,使用async/await或线程处理:

// 假设你使用uni-app的API进行网络请求
uni.request({
    url: 'https://api.example.com/data',
    success: (res) => {
        // 处理请求结果
        setTimeout(() => {
            uni.navigateTo({ url: '/pages/home/home' });
        }, 1000); // 假设处理后延迟1秒跳转
    }
});

3. 更新依赖库

检查并更新uni-appHBuilderX以及相关插件到最新版本,确保兼容最新Android版本。

4. 权限检查

确保应用已正确声明所需权限,特别是涉及网络访问、存储访问等。

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

5. 查看日志输出

使用Android Studio的Logcat查看详细日志,定位启动失败的具体原因。这可能涉及到第三方库冲突、系统级错误等。

6. 清理和重建项目

有时候,简单的清理和重建项目可以解决一些莫名其妙的问题:

# 在Android Studio的Terminal中执行
./gradlew clean build

7. 检查Gradle配置

确保build.gradle文件中的配置与你的Android Studio版本、Android SDK版本相匹配。

由于篇幅限制,这里只提供了部分代码和配置示例。实际调试过程中,你可能需要根据Logcat输出的具体错误信息,逐一排查和解决问题。希望这些示例能帮助你更快地定位并解决问题。

回到顶部