Mar*_*kus 26 android android-support-library
更新android-support库后,22.2.0项目停止编译.
error: cannot access DialogStyle
class file for android.support.v4.app.DialogFragment$DialogStyle not found
Consult the following stack trace for details.
com.sun.tools.javac.code.Symbol$CompletionFailure: class file for android.support.v4.app.DialogFragment$DialogStyle not found
Run Code Online (Sandbox Code Playgroud)
找不到如何解决这个问题.
以前用过的版本是 22.1.1
Jus*_*ler 10
@ takoli的答案适用于大多数情况,但如果您有其他依赖项,默默地包含support-v4,或者如果您懒得明确地排除support-v4,那么这里是另一种解决方案.
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.android.support:recyclerview-v7:22.2.0'
compile 'com.android.support:mediarouter-v7:22.2.0'
// Force stable version of support-v4
compile ('com.android.support:support-v4:22.1.1') {
force = true
}
Run Code Online (Sandbox Code Playgroud)
更新:
AndroidAnnotations发布了新版本3.3.2,解决了这个问题.如果您使用AndroidAnnotations更新到3.3.2并使用22.2.0支持库而不强制旧版本的support-v4.有关更多信息,请参阅此主题
以下是一些对我们有用的解决方法:
我刚刚找到一个TEMPORARY解决方法......直到appcompat修复了这个问题:
android.support.v4.app
DialogFragment $ DialogStyle.java
内容
包android.support.v4.app;
// todo在appcompat中修复后删除此文件(https://code.google.com/p/android/issues/detail?id=175086)
public @interface DialogFragment $ DialogStyle {}
我找到了另一种解决方法....更丑陋...但是让我们解决了这个问题(包括上述解决方案中的NPE),直到appcompat 22.2得到修复.
android.support.v4.app
重命名该类(类似于TempFragmentDialog).如果不重命名该类,则会出现"重复"类错误.
在您的项目中,任何具有@Inject的FragmentDialog都需要扩展FragmentDialog的副本(例如:public class MyFragmentDialog extends TempFragmentDialog)
试试这个,它解决了我的问题:
compile ('com.android.support:appcompat-v7:22.2.0') {
exclude module: 'support-v4' }
compile ('com.android.support:recyclerview-v7:22.2.0') {
exclude module: 'support-v4' }
compile ('com.android.support:cardview-v7:22.2.0') {
exclude module: 'support-v4' }
compile ('com.android.support:design:22.2.0') {
exclude module: 'support-v4' }
// and exclude support-v4 from other dependencies as well that might include it
// finally add it, but avoid version 22.2.0...
compile ('com.android.support:support-v4:22.1.1')
Run Code Online (Sandbox Code Playgroud)
无需手动将support-v4库添加到libs目录,最后一次导入可确保项目中包含正确的版本.
BTW所有这些解决方法都不是你的错,责怪别人:)
| 归档时间: |
|
| 查看次数: |
1661 次 |
| 最近记录: |