android 造成闪退原因,Smali聚合android4.4闪退问题原因及解决方案

本文详细分析了Android 4.4系统因方法数限制导致的闪退问题,并提供了在Eclipse和Android Studio中集成Multidex的解决方案。包括:下载android-support-multidex.jar,配置MultiDexApplication,修改AndroidManifest.xml,以及在Android Studio中通过Gradle配置multiDexEnabled true等步骤。
摘要由CSDN通过智能技术生成

原因分析

eclipse解决方案

eclipse 导入Androidstudio解决方案

原因分析:

在安卓4.4及以下的系统中,安卓限制整个app包的方法数不能超过65535(即64K),而随着现在App功能的增大,方法数远超65535。这就导致早期的安卓系统(4.4以下)出现方法找不到问题。当然,谷歌也自身有提供一套解决方案,即(multidex拆分包)。但是之前聚合虽然意识到这个问题,但是解决方案却是错误的。

eclipse工程的解决方法:

eclipse Android工程方法超过65535,一般使用MultiDex库进行分包处理。

而eclipse中使用multidex库一般分为以下步骤:

下载android-support-multidex.jar

在eclipse上导入android-support-multidex.jar包

配置MultiDexApplication

配置AndroidManifest.xml

android-support-multidex.jar下载

百度下载android-support-multidex.jar放置在主工程使用

下载链接:https://pan.baidu.com/s/1dfstShtHSFVGqqc6m8XDFA

在eclipse上导入android-support-multidex.jar包

这里就要将android-support-multidex.jar导入eclipse,跟导入其他jar包一样。

MultiDexApplication

有两种方案配置Application,目前我们聚合的Application大都没有去继承MultiDexApplication,如果父类没有继承MultiDexApplication ,就用第二种方法就可以。

直接继承

public class MogeApplication extends MultiDexApplication { ... }

重写attachBaseContext方法

或者,如果替换了 Application 类,但无法更改基本类,则可以改为替换 attachBaseContext() 方法并调用 MultiDex.install(this) 来启用 Dalvik 可执

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值