使用 android.support.v7.appcompat v21 的三星 4.2.2 设备存在巨大问题:
https://code.google.com/p/android/issues/detail?id=78377
为了避免这个问题,我想我会从 .m2repository 中获取 v21 appcompat aar 并且:
- 解压 appcompat-v7-21.0.0.aar
- 使用 jarjar 处理带有规则的 classes.jar (rule android.support.** android.support.@1)
- 用重新打包的 classes.jar 替换 classes.jar
- 压缩 appcompat-v7.21.0.0.aar
- 将重新打包的 aar 手动包含在我的 build.gradle 中(compile(name:'appcompat-v7-21.0.0', ext:'aar') 以及 build.gradle 存储库部分中我的 libs 文件夹的 flatDir)。
问题是当我使用重新打包的 aar 进行编译时,我从清单合并中得到一个 FileNotFoundException。所以,我试图确定我正在做的事情是否可能,如果可能的话,我的错误是什么。
这是我得到的错误:
错误:任务“:app:processDebugManifest”执行失败。
com.android.manifmerger.ManifestMerger2$MergeFailureException: java.io.FileNotFoundException: app/build/intermediates/exploded-aar/appcompat-v7-21.0.0/AndroidManifest.xml(没有这样的文件或目录)
编辑:
当我查看路径 app/build/intermediates/exploded-aar/appcompat-v7-21.0.0/ 时,AndroidManifest.xml 肯定存在。