Android兼容包multidex的开发和构建方法

在Android开发中,函数方法超过65k限制后,我们就常常会用到multidex分包解决,但是multidex的配置,对系统apk的构建、签名、打包复杂性大大的增加,严重的降低了构建效率。那这个问题怎么处理呢?

为解决这个问题,通常我们使用的方法就是在Gradle productFlavors新建出来一个 development flavor 和 production flavor 来满足我们不同构建需求。

为了更直观的给大家展示具体的操作,我们通过一个例子来演示如何设置这些flavors在Gradle build文件中:

android {     productFlavors {         // Define separate dev and prod product flavors.         dev {             // dev utilizes minSDKVersion = <span class="hljs-number">21</span> to allow the Android gradle plugin             // to pre-dex each module and produce an APK that can be tested on             // Android Lollipop without time consuming dex merging processes.             minSdkVersion <span class="hljs-number">21</span>         }         prod {             // The actual minSdkVersion <span class="hljs-keyword">for</span> the application.             minSdkVersion <span class="hljs-number">14</span>         }     }           <span class="hljs-keyword">...</span>     buildTypes {         release {             runProguard true             proguardFiles getDefaultProguardFile(<span class="hljs-string">‘proguard-android.txt‘</span>),                                                  <span class="hljs-string">‘proguard-rules.pro‘</span>         }     } } dependencies {   compile <span class="hljs-string">‘com.android.support:multidex:1.0.0‘</span> }

在你完成了伤处的配置修改之后,你配置productFlavor 和 buildType来使用 ,devDebug 变种app。使用这些变种app,可以设置proguard disable、multidex enable方便测试。

这些配置需要针对Android Gradle插件做如下操作:

1、在分包前,编译应用程序中的每一个module包括依赖项目,这个步骤称为 pre-dexing。

2、include每一个dex文件。

3、最重要的是,对于主dex文件,不会做切分,以保证计算速度。

这样设置既能够保证我们的最终报是一个使用了multidex模式的,而又不影响我们平时开发的测试效率。

Android Studio中使用变种App

使用multidex工具构建变种App是非常方便的。在Android Studio允许我们选择这种变种构建方式的接口。

使用Android Studio构建 “devDebug”构建变种app需要完成两步:

1、打开变种编辑窗口,选择favorites选项。

2、点击编译不同的变种,如下图所示

以上就是Android兼容包multidex的开发和构建的具体方法,希望对大家在使用multidex的时候有所帮助。

相关阅读:《详谈Android如何防止apk程序被反编译

时间: 2024-11-06 14:10:46

Android兼容包multidex的开发和构建方法的相关文章

在Eclipse添加Android兼容包( v4、v7 appcompat )[转]

昨天添加Android兼容包,碰到了很多问题,在这里记录一下,让后面的路好走. 如何选择兼容包, 请参考Android Support Library Features(二) 一.下载Support Library 方法1:右击项目→选择Android Tools→Add Support Library… 方法2: 通过SDK Manager获取Support Library: 1.打开Android SDK Manager 2.在SDK Manager窗口,滚动到Package List的末尾

在Eclipse添加Android兼容包( v4、v7 appcompat )(转)

昨天添加Android兼容包,碰到了很多问题,在这里记录一下,让后面的路好走. 如何选择兼容包, 请参考Android Support Library Features(二) 一.下载Support Library 方法1:右击项目→选择Android Tools→Add Support Library… 方法2: 通过SDK Manager获取Support Library: 1.打开Android SDK Manager 2.在SDK Manager窗口,滚动到Package List的末尾

在Eclipse添加Android兼容包 v4 v7 appcompat

昨天添加Android兼容包,碰到了很多问题,在这里记录一下,让后面的路好走. 如何选择兼容包, 请参考Android Support Library Features(二) 一.下载Support Library 方法1:右击项目→选择Android Tools→Add Support Library- 方法2: 通过SDK Manager获取Support Library: 1.打开Android SDK Manager 2.在SDK Manager窗口,滚动到Package List的末尾

在Eclipse添加Android兼容包( v4、v7 appcompat )

如何选择兼容包, 请参考Android Support Library Features(二) 一.下载Support Library 方法1:右击项目→选择Android Tools→Add Support Library… 方法2: 通过SDK Manager获取Support Library: 1.打开Android SDK Manager 2.在SDK Manager窗口,滚动到Package List的末尾,找到Extra文件夹,如果需要的话打开文件夹显示它的内容. 3.选择Andro

Android 兼容包

http://www.cnblogs.com/kissazi2/p/3644848.html 在AndoridManifest.xml文件中可以查看项目最低支持的SDK版本 <uses-sdk android:minSdkVersion="17" android:targetSdkVersion="17" />

Android Studio 下进行jni开发及打包方法

最近几天查找了好多关于Android Studio开发JNI资料的资料,但是一直编译不成功!原因可能是和Android Studio的最新版本有关,或者多数都是使用Eclipse进行Android JNI 开发的,不适用Android Studio 吧! 首先介绍我的开发环境: 操作系统:Ubuntu Kylin15.04 32位 开发工具:Android Studio JDK版本: java version "1.7.0_79" OpenJDK Runtime Environment

转:android Support 兼容包详解

本文转自stormzhang的ANDROID SUPPORT兼容包详解 背景 来自于知乎上邀请回答的一个问题Android中AppCompat和Holo的一个问题?, 看来很多人还是对这些兼容包搞不清楚,那么干脆写篇博客吧. Support Library 我们都知道Android一些SDK比较分裂,为此google官方提供了Android Support Library package 系列的包来保证高版本sdk开发的向下兼容性, 所以你可能经常看到v4,v7,v13这些数字,首先我们就来理清

Android Support兼容包详解

转载:http://stormzhang.com/android/2015/03/29/android-support-library/ 背景 来自于知乎上邀请回答的一个问题Android中AppCompat和Holo的一个问题?, 看来很多人还是对这些兼容包搞不清楚,那么干脆写篇博客吧. Support Library 我们都知道Android一些SDK比较分裂,为此google官方提供了Android Support Library package 系列的包来保证高版本sdk开发的向下兼容性

Android SDK中的Support兼容包详解

这篇文章主要介绍了Android SDK中的Support兼容包详解,本文详细区分了Support Library的版本区别.各种Theme的概念和使用注意事项等内容,需要的朋友可以参考下 背景 来自于知乎上邀请回答的一个问题Android中AppCompat和Holo的一个问题?, 看来很多人还是对这些兼容包搞不清楚,那么干脆写篇博客吧. Support Library 我们都知道Android一些SDK比较分裂,为此google官方提供了Android Support Library pac