我重构了我的项目并删除了一些外部库,这些库位于我项目的/ app / libs文件夹中。现在我在gradle构建文件的依赖项部分添加了这些库。
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile 'com.android.support:appcompat-v7:22.0.0'
compile 'com.crashlytics.android:crashlytics:1.+'
compile 'com.j256.ormlite:ormlite-core:4.48'
compile 'com.j256.ormlite:ormlite-android:4.48'
compile 'org.apache.httpcomponents:httpcore:4.4.1'
compile 'org.apache.httpcomponents:httpclient:4.4.1'
compile 'commons-io:commons-io:2.4'
compile 'org.apache.httpcomponents:httpmime:4.4.1'
compile ('org.simpleframework:simple-xml:2.6.9'){
exclude module: 'stax'
exclude module: 'stax-api'
exclude module: 'xpp3'
}
}
项目可以构建,android studio中没有显示错误,但在设备上会出现noclassdeffound异常。我的结论是这些jar文件在apk文件中不可用。我可以在gradle文档中看到有一个运行时选项我试过而不是编译选项,但这不起作用,因为解析器不知道运行时。在生成的apk文件中包含这些依赖项的正确方法是什么?
我的proguard配置
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
}
这两个文件都是空的,所以我猜这个默认值会被使用 感谢