2023-02-13 Android studio打包apk到手机上(模拟器也一样)运行时闪退
环境:Rn项目apk,win10,android手机,as版本为4.2.2。
======================================================================================================
这是由chatGpt给出的解决方案:
1. 内存不足:如果您的应用程序使用了过多的内存,则手机可能无法正常运行它,导致闪退。
2. 配置问题:如果您的应用程序需要特定的配置,而您的手机不满足这些配置,则应用程序可能会闪退。
3. 编译错误:如果您的代码中存在错误或错误的依赖项,则应用程序可能无法正常运行,导致闪退。
4. 应用程序缺少权限:如果您的应用程序需要特定的权限,而您的手机未授予这些权限,则应用程序可能无法正常运行,导致闪退。
如果您想解决这个问题,建议您以下几个方面:
1. 检查应用程序的内存使用情况,并确保它不会使用过多的内存。
2. 检查手机的配置,确保它满足应用程序的所有要求。
3. 检查代码,确保没有编译错误或错误的依赖项。
======================================================================================================
这是其他方案:
解决方案1(经测试,然并卵):
关掉as的instant run(3.0还是3.5版本以上instant run 就改名为了hot swap);
删掉项目中android中的两个build文件夹;
诘责在as里面找到clear project,点击它,作用是清理缓存;
最后重新编译。
解决方案2(经测试,然并卵):
找到android/app/src/main/AndroidManifest.xml文件,在activity里面添加
android:exported="true"
这个的意识就是是否可以启动应用:true 可以启动;false 不可以被启动。
这个方法是网上大多数人推荐的方案,但是并不能解决掉我的问题,而且我手机也有4个g空间又怎么会存在内存不足的情况呢,我觉得还是编译时存在代码错误的问题。
比如:More than one file was found with OS independent path 'lib/armeabi-v7a/libfbjni.so'.
我觉得应该是个这个问题没有完全解决掉,因为我是直接merge合并了这个库(我后来exclude过滤了也不行,还是打包后运行闪退)。
解决方案3(已解决):
排查中,发现了android/app/build.gradle配置有问题,该文件里的defaultConfig对象中的applicationId被我写成了其他的名字,这里应该写com.xxx应用名。
不过,还是闪退。我在报错的信息中找到了一个关键【couldn't find DSO to load: libhermes.so】,然后开始基于它开始搜索,终于,让我找到了这篇文章https://coding.imooc.com/learn/questiondetail/159774.html。
不过,这篇文章并没有解释这个方案具体是怎么用的,为什么会这样做,这对于没有Android基础的我来说,简直就是一头雾水。
只需要在android/app/build.gradle中的android对象中的defaultConfig添加一个对象即可,代码如下:
android { defaultConfig { ... ndk { abiFilters "armeabi-v7a","x86" } } ... }
把这个ndk对象添加进去,然后重新编译打包,运行能打开app即代表成功。
ndk的作用:
ndk{abiFilters:}过滤
这个指令可以配置只打包你配置的so库,没有配置的就不打包。
至于为什么会闪退,从字面上来看就是so库的配置问题从而导致app崩溃。
» 下一篇: 2023-02-13 Unable to load script.Make sure you‘re either running a metro server( run ‘react-native start‘ ) or that your bundle ‘index.android.bundle‘ is packaged correctly for release.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧