android开发技术探索,《android开发艺术探索》读书笔记(十三)--综合技术(示例代码)...
No1:
No2:
在Android中單個dex文件所能夠包含的最大方法數為65536,這包含Android FrameWork、依賴的jar包以及應用本身的代碼中的所有方法。
No3:
使用multidex來解決方法數越界
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區域是為了指定dex文件中包含哪些類,類名寫在maindexlist.txt中
注意:multidex的jar包中的9個類必須也要打包到主dex中
代碼支持
public class TestApplication extendsApplication {
@Overrideprotected voidattachBaseContext(Context base) {super.attachBaseContext(base);
MultiDex.install(this);
}
}
Multidex方法雖然很好地解決了方法數越界這個問題,但也會導致應用啟動速度會降低,是因為應用啟動時會加載額外的dex文件。
No4:
No5:
總結
以上是生活随笔為你收集整理的android开发技术探索,《android开发艺术探索》读书笔记(十三)--综合技术(示例代码)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 北京师范大学新生入学计算机考试内容,北京
- 下一篇: android web3j 代币查询_使