当前位置: 首页 > 知识库问答 >
问题:

android - Android应用在 <14的手机上运行都没问题 ,运行到14、15的手机上就报错 进不去首页?

云啸
2024-07-29

报错:

2024-07-27 16:04:33.880 11048-11048 DEBUG             
        pid-11048                           
 A        #107 pc 00000000000f0f8c  /system/lib64/libandroid_runtime.so 
(android::AndroidRuntime::start(char const*, android::Vector<android::String8> 
const&, bool)+908) (BuildId: db02741581451b91559b8bffa7ee23f7)

共有1个答案

袁致远
2024-07-29

针对您提供的错误信息,这更像是一个底层的崩溃日志,而不是一个直接指向应用层面问题的错误信息。错误信息中提到了 /system/lib64/libandroid_runtime.so,这是Android系统的运行时库,通常这类错误与应用的兼容性问题、系统库的变更或者底层API的使用不当有关。

解决方案步骤:

  1. 检查API级别

    • 确保您的应用在AndroidManifest.xml中声明的minSdkVersiontargetSdkVersion与您的测试设备兼容。Android 14和15引入了新的API级别(API 34和35),确保您的应用已准备好使用这些API或至少能够兼容。
  2. 依赖库和SDK更新

    • 更新所有第三方库和Android SDK到最新版本。有时库的旧版本可能不兼容新版本的Android系统。
  3. 代码审查和兼容性测试

    • 审查代码中是否有使用已废弃或在新版本中行为改变的API。
    • 在Android 14和15的设备上进行全面的兼容性测试。
  4. 查看崩溃日志和堆栈跟踪

    • 尝试获取更完整的崩溃日志和堆栈跟踪信息,这有助于确定是哪个具体的操作或方法调用导致了崩溃。
    • 使用Android Studio的Logcat或其他日志工具来捕获和分析日志。
  5. 考虑硬件和架构差异

    • 您的设备之一可能是64位架构(lib64),而另一个可能是32位。确保您的应用在两种架构上都能正确运行。
    • 检查是否有任何特定于架构的代码或库导致问题。
  6. 启用多DEX支持

    • 如果您的应用非常大,可能需要启用多DEX支持。Android 5.0(API 级别 21)引入了ART(Android Runtime),它提高了性能但也可能需要您调整DEX文件的管理方式。
  7. 联系设备制造商

    • 如果问题似乎与特定品牌的设备或Android版本有关,考虑联系设备制造商或查看其开发者论坛以获取更多信息。
  8. 查看Android官方文档和社区

    • 查阅Android开发者网站上的官方文档,了解有关新版本的API更改和兼容性指南。
    • 搜索相关的开发者社区和论坛,看看是否有其他开发者遇到并解决了类似的问题。

结论

由于错误信息指向的是系统库,这通常意味着问题可能与您的应用代码不直接相关,而是与Android系统的变化或您的应用如何与系统交互有关。因此,解决此问题可能需要多方面的调查和测试。

 类似资料:
  • 我的iMac上有一个完整的react本机环境,当我运行react本机运行ios时,项目完全运行,但当我使用android执行此操作时,它不工作,metro bundler窗口打开但不工作,并且不显示任何消息。 我必须做什么? 运行“react native run android”后我的终端 运行Android系统后,我的终端的打印屏幕,以及在它下面的metro捆绑包

  • 生根我的设备后,我需要运行,然后运行,以便我可以访问我的应用程序数据库。当尝试运行时,我不断得到“adbd无法在生产版本中以根目录运行”。这是为什么呢?唯一的另一种选择是使用Android模拟器进行测试,但我们都知道模拟器有多可怕(不是一个真正可行的开发解决方案)。

  • 任务:应用程序:generatePackageList失败 在此版本中使用了废弃的Gradle功能,使其与Gradle 8.0不兼容。 您可以使用“--warning mode all”来显示各个弃用警告,并确定它们是否来自您自己的脚本或插件。 请参见https://docs.gradle.org/7.3.3/userguide/command_line_interface.html#sec:co

  • 我的应用程序在emulator上运行得很好,但当我导出后在我的智能手机(galaxy s3)上运行它时,它会在这个活动中崩溃,因为有HTTP连接!问题出在哪里?代码还是导出?当我点击连接按钮时,它崩溃了。

  • 当我想运行反应-本机运行-Android命令我看到 失败:构建失败,有一个异常。 > 哪里出错了:配置根项目'reactNativeCliTest'时出现问题。 无法解析配置“:classpath”的所有依赖项。无法下载gradle core。jar(com.android.tools.build:gradle-core:2.2.3)无法获取资源的https://jcenter.bintray.c

  • 我正在发送纯FCM数据通知到一个Android客户端,它们是端到端加密的。android应用程序解密数据通知负载,并从加密的数据创建本地通知。只要应用程序在前台或后台运行,这就可以正常工作:通知负载会被接收、解密,甚至会显示在锁定屏幕上,但只有在应用程序运行的时候才可以。我还查看了消息优先级,并在通知消息的AndroidConfig成员和数据字段中将其设置为“high”(发送到FCM的应用服务器)