android开发技术探索,《android开发艺术探索》读书笔记(十三)--综合技术(示例代码)...
No1:
No2:
在Android中單個(gè)dex文件所能夠包含的最大方法數(shù)為65536,這包含Android FrameWork、依賴(lài)的jar包以及應(yīng)用本身的代碼中的所有方法。
No3:
使用multidex來(lái)解決方法數(shù)越界
apply plugin: \'com.android.application\'
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.ryg.multidextest"
minSdkVersion 8
targetSdkVersion 22
versionCode 1
versionName "1.0"
// enable multidex support
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile(\'proguard-android.txt\'), \'proguard-rules.pro\'
}
}
}
afterEvaluate {
println "afterEvaluate"
tasks.matching {
it.name.startsWith(\'dex\')
}.each { dx ->
def listFile = project.rootDir.absolutePath + \'/app/maindexlist.txt\'
println "root dir:" + project.rootDir.absolutePath
println "dex task found: " + dx.name
if (dx.additionalParameters == null) {
dx.additionalParameters = []
}
dx.additionalParameters += \'--multi-dex\'
dx.additionalParameters += \'--main-dex-list=\' + listFile
dx.additionalParameters += \'--minimal-main-dex\'
}
}
dependencies {
compile fileTree(dir: \'libs\', include: [\'*.jar\'])
compile \'com.android.support:appcompat-v7:22.1.1\'
compile \'com.android.support:multidex:1.0.0\'
}
afterEvaluate區(qū)域是為了指定dex文件中包含哪些類(lèi),類(lèi)名寫(xiě)在maindexlist.txt中
注意:multidex的jar包中的9個(gè)類(lèi)必須也要打包到主dex中
代碼支持
public class TestApplication extendsApplication {
@Overrideprotected voidattachBaseContext(Context base) {super.attachBaseContext(base);
MultiDex.install(this);
}
}
Multidex方法雖然很好地解決了方法數(shù)越界這個(gè)問(wèn)題,但也會(huì)導(dǎo)致應(yīng)用啟動(dòng)速度會(huì)降低,是因?yàn)閼?yīng)用啟動(dòng)時(shí)會(huì)加載額外的dex文件。
No4:
No5:
總結(jié)
以上是生活随笔為你收集整理的android开发技术探索,《android开发艺术探索》读书笔记(十三)--综合技术(示例代码)...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 北京师范大学新生入学计算机考试内容,北京
- 下一篇: android web3j 代币查询_使