我正在MotoG(Lollipop5.1)上测试我的项目,还有一个XperiaT2(KitKat 4.4)上没有的问题。错误日志为:
java.lang.NoClassDefFoundError: android.support.design.internal.NavigationMenuItemView
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:309)
我正在使用android。支持:设计库,但不实例化NavigationView,我尝试使用
compile 'com.android.support:design:22.2.1'
和
compile 'com.android.support:design:23.1.1'
并且没有解决。也许问题与之前的支持问题有关:appcompat库,当我尝试使用23.1.1较低版本时发生此错误
NoClassDefFoundError: android.support.v4.hardware.fingerprint.FingerprintManagerCompatApi23$1
我的实际Gradle配置是:
android {
compileSdkVersion 23
buildToolsVersion '23.0.1'
defaultConfig {
minSdkVersion 19
targetSdkVersion 21
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.google.android.gms:play-services:8.1.0'
compile 'com.android.support:design:22.2.0'
compile 'com.android.support:cardview-v7:23.0.1'
compile 'com.android.support:recyclerview-v7:23.0.1'
请帮忙。
更新
当我尝试使用
buildToolsVersion '23.0.2'
'com.android.support:appcompat-v7:23.1.1'
'com.android.support:design:23.1.1'
我在android工作室渲染预览时出错
Exception Details java.lang.IllegalArgumentException: You need to use a Theme.AppCompat theme (or descendant) with the design library.
即使这样使用我的主题
<style name="MyTheme" parent="Theme.AppCompat.Light">
请尝试以下解决方案:NoClassDefFoundError:android。支持v7.内部。看法菜单菜单生成器
编辑:
对我有用的解决方案是(使用ProGuard)来代替它:
-keep class android.support.v4.** { *; }
-keep interface android.support.v4.** { *; }
-keep class android.support.v7.** { *; }
-keep interface android.support.v7.** { *; }
使用此选项:
# Allow obfuscation of android.support.v7.internal.view.menu.**
# to avoid problem on Samsung 4.2.2 devices with appcompat v21
# see https://code.google.com/p/android/issues/detail?id=78377
-keep class !android.support.v7.internal.view.menu.**,android.support.** {*;}
归功于谷歌集团:https://code.google.com/p/android/issues/detail?id=78377#138
旧答案(临时解决方法):它发生在我在ActionBar中使用
微调器的项目中。我的解决方案是检查这些条件并更改应用程序流:
public static boolean isSamsung_4_2_2() { String deviceMan = Build.MANUFACTURER; String deviceRel = Build.VERSION.RELEASE; return "samsung".equalsIgnoreCase(deviceMan) && deviceRel.startsWith("4.2.2"); }
然后在活动的onCreate方法中:
if (isSamsung_4_2_2()) { setContentView(R.layout.activity_main_no_toolbar); } else { setContentView(R.layout.activity_main); }
正如所指出的,这并不是一个确定的解决方案,它只是一种允许用户访问有限功能的方法,同时找到一个更持久的解决方案。
这似乎是一个类似的问题,所以请尝试一下,并让我知道它是否有效
编辑:根据这期Gihub,https://github.com/JoanZapata/android-iconify/issues/93你在哪里找到这条线索:
使用com时没有错误。Android支架:设计:22.2.0
错误只发生在我使用com.android.support: design: 22.2.1
将您的构建工具降级到22.2.0-这可能是Android问题。
也许您可以尝试以下代码并重试:
./gradlew clean
或者这个:
gradle clean
根据我搜索到的一些链接,这些可能会为您带来一些窍门。
我试图实现一个与Cheesesquare演示应用程序中类似的CollapsingToolBarLayout。 但是,我需要在进入活动时默认折叠工具栏(这样在手机上的横向模式下就不会占用太多空间)。 根据文档,使用标志似乎很容易实现。 但是,我没有获得所需的行为。相反,AppBarLayout一开始显示完全扩展,然后滚动出屏幕,只留下系统栏。 下面是我的布局(对芝士蛋糕的轻微修改):
我已经构建了一个RESTendpoint,它使用Spring和Apache CXF2.5来使用和生成Application/JSON。 配置: 当我使用不受支持的内容类型(如application/xml)发送请求(使用REST客户端应用程序)时,我会得到一个内部服务器错误。我希望是405,因为endpoint不支持任何其他内容类型。为什么我会得到这个例外?
我的应用程序在5.1.0中运行平稳,但当我在4.2.2中运行时,它显示错误: 我研究过这个。它说在gradle中添加向量支持错误,所以我补充道: 和gradle文件中的两个依赖项。 但它在4.4.2中显示了相同的错误。
你好,你能帮帮我吗。我在模拟器上编译/运行代码时遇到了这个错误。这是我以前制作的示例教程。我使用了min Target API-15并编译了最新版本 AndroidRuntime:java.lang.RuntimeException:无法启动activity ComponentInfo{com.eccp.projects.ecosavers.ecosavers.ecosavers.activiti
我按照http://developer.android.com/tools/support-library/setup.html的指示将支持库添加到我的android项目中,但遇到了这样的构建错误 Gradle:评估项目时出现问题:“projectname”。 没有方法的签名:org。格拉德尔。应用程序编程接口。内部的人工制品dsl。依赖项。DefaultDependencyHandler。com
我试图制作我的第一个应用程序(hello world),并在手机上运行它,但当我单击run时,gradle返回了这个错误(我在这里研究了stackoverflow并试图关闭即时运行,但在我的情况下似乎不起作用): 后来编辑2:我想通了,我的电脑上安装了一个旧的jdk版本和最新的android studio,谢谢你的帮助。我只需要安装最新的jdk版本(8)