Android 64K解决办法

本文中采用的方式是官方提供的,官方链接为:

http://developer.android.com/intl/zh-cn/tools/building/multidex.html

64K问题比较麻烦,但是官方解决办法其实也比较简单,本文开发环境是as下,eclipse的建议转到as吧。

APP环境:

百川IM+趣拍。由于趣拍支持android最低版本为4.0.3,即API为15。实际上现在包括支付宝、微信这些APP支持版本也为4.0.3。

所以觉得如果APP没太大问题的话建议开发环境最低为4.0,即API14。因为3.0-4.0为平板系统,3.0以下的手机基本上也就没了~~~。

言归正传:

Gradle配置只需要app目录下的即可。

第一步:设置multiDexEnabled

第二步:引入multidex项目

第三步:配置MultiDexApplication

如果你没有自定义的application,那么直接在manifest的application节点中加入即可

如果自定义了application,只需要将自定义的application继承改为MultiDexApplication,然后重写attachBaseContext方法,加入MultiDex.install(this);

?

基本上现在是可以了。

?

但是呢,你会发现编译有点慢~然后解决办法来了,因为as2.0加入了代码热更新功能,所以首先要as更新到2.0吧。

然后在gradle下中的android加入红框框里面的内容:

这个的意思是指开发的时候最低版本为21,(所以你要有一个手机系统为5.0以上的手机吧),然后打包的时候最低版本为15。当然prod的api

版本也可以根据自己需求更改。

其实在打包的时候会让你选择是dev还是prod,选择prod为app支持最低版本为15(4.0.3)

?

然后又有问题了,你会发现打包的时候会失败,这是内存配置太小了。此时还是在gradle,android的节点下加入:

因为我的电脑是8G内存,所以打包的时候我选择了分配4G。

?

可能后面还有些坑没踩到,有问题了后续会补充吧~也欢迎大家多提意见。

时间: 2024-10-12 11:47:31

Android 64K解决办法的相关文章

[Android]NetworkOnMainThreadException解决办法

从 android 2.3 之后已经限制无法在主线程中使用网络抓取数据 会出现 NetworkOnMainThreadException 从 android 2.3 之后已经限制无法在主线程中使用网络抓取数据 会出现?NetworkOnMainThreadException 如果要使用网络抓数据就必须得要自己开一条线程才行 解决方法就是把网络传输的部分另外开线程去执行 另外一个方法就是在?onCreate 下加入 StrictMode.setThreadPolicy(new StrictMode

安卓应用方法数超过64k解决办法:分割Dex

你的安卓项目功能很强大,对接了好多第三方开源库,项目越做越完善,代码越敲越爽.可是突然有一天报异常了. 错误:The number of method references in a .dex file cannot exceed 64K. 编译器提醒你,你的项目方法数超过64k了. AndroidStudio会提醒你: Learn how to resolve this issue at https://developer.android.com/tools/building/multidex

android硬件调试之无法识别android设备解决办法

DDMS 中无法识别华为荣耀六手机,  用豌豆荚开始显示无法连接,  用豌豆荚安装完驱动后,就可以连接了 http://www.zhihu.com/question/30588024 http://www.2cto.com/kf/201208/149077.html

Please select Android SDK解决办法

项目不能运行,提示如下  打开项目local.properties文件,查看sdk地址是否正确,注意区分大小写  如果sdk地址正确,那么点击File-Sync Project with gradle files即可  原文地址:https://www.cnblogs.com/yelanggu/p/9599186.html

Android SDK更新以及ADT更新出现问题的解决办法(转载)

转自:http://zyueqi.iteye.com/blog/1474323 问题描述 使用SDK Manager更新时出现问题Failed to fetch URL https://dl-ssl.google.com/android/repository/repository-6.xml, reason: Connection to https://dl-ssl.google.com refusedFailed to fetch URL http://dl-ssl.google.com/an

如何用 Android Studio 导入开源项目以及常见错误的解决办法

声明:这篇文章完全来自这篇文章,感谢大神的相助.这篇文章纯粹是为了备份. 本篇以Github上最热门的MaterialDesign库,MaterialDesignLibrary来介绍怎样使用Android Sudio导入开源项目的,如果你和我一样刚刚从Eclipse转到AS,那本篇文章非常适合你. 如果不引入任何第三方库,不做自动化分渠道打包等操作,那可以在完全不了解Gradle的情况下进行Android项目的开发.但如果要想导入Github上的热门项目,必须首先熟悉Gradle. 1. Gra

Android开发 |常见的内存泄漏问题及解决办法

在Android开发中,内存泄漏是比较常见的问题,有过一些Android编程经历的童鞋应该都遇到过,但为什么会出现内存泄漏呢?内存泄漏又有什么影响呢? 在Android程序开发中,当一个对象已经不需要再使用了,本该被回收时,而另外一个正在使用的对象持有它的引用从而导致它不能被回收,这就导致本该被回收的对象不能被回收而停留在堆内存中,内存泄漏就产生了. 内存泄漏有什么影响呢?它是造成应用程序OOM的主要原因之一.由于Android系统为每个应用程序分配的内存有限,当一个应用中产生的内存泄漏比较多时

Android内存泄漏的本质原因、解决办法、操作实例

今年最后一个迭代终于结束了,把过程中碰到的不熟悉的东西拉出来学习总结一下 内存泄漏的本质是:[一个(巨大的)短生命周期对象的引用被一个长生命周期(异步生命周期)的对象持有] 这个东西分为两个部分 获得一个(巨大的)短生命周期的对象 这个[巨大的短生命周期的对象]在Android中最有可能的就是[Activity]了 最容易无意识获得它的方式就是[非静态内部类隐式自动持有外部类的强引用] 把这个对象赋值给了一个长生命周期的对象 这个有一些常见的套路 套路一:直接赋值给了一个类的静态成员 这个静态成

配置Android环境遇到的问题及解决办法

配置Android环境遇到的问题及解决办法: 1 环境安装地址 http://pan.baidu.com/s/1jGzNzyI 2 其他: 2.1 安装 2.1.1 安装JDK,JRE 成功安装之后,进行测试是否真的成功安装,点击[开始]----[运行]----输入 CMD,在命令提示符里面输入"Java -version"并按回车键,出现版本号则安装成功. 2.1.2 安装Adb 2.1.3 打开Eclipse 2.2 配置环境变量: 2.2.1 配置JAVA环境变量 (见下方2.2