当前位置: 首页 > 知识库问答 >
问题:

Noclassdeffounderror-找不到v7支持(android studio)

赫连子石
2023-03-14

所以我尝试使用GCM构建一个应用程序。我已经为此打开了两个模块。后端(带有appengine和常规模块的GCM消息传递-名称为“app”(常规模块和“后端”)。

我收到了这个问题,但我找不到解决方法。

应用程序启动时,我得到以下错误:

10-04 18:24:16.391 18920-18920/com.example.daniel.test6 E/AndroidRuntime: 致命异常: main java.lang.NoClassDefFounderor: android.support.v7.app.appCompatDelegateImplV7.ensureSubDecor(应用CompatlegateImplV7.java:289) 在 android.support.v7.app.AppCompatDelegateImplV7.setEntentView(AppCompatlegateImplV7.java:246) 在 android.support.v7.app.appCompatActivity.setContview(应用兼容性.java:106) at android.support.v7.app.appCompatActivity.setContview(应用兼容性.java:106)com.example.daniel.testing6.MainActivity.on创建(MainActivity.java:14) at android.app.活动.perform创建(活动.java:5104) 在 android.app.Instrumentation.callActivity在 Android创建(检测.java:1080) .app.活动线程.perform启动活动(活动线程.java:2144) 在 android.app.活动线程处理启动活动(活动线程.java:2230) 在 android.app.活动线程.访问$600(活动线程.java:141) 在 android.app.活动线程$H.handleMessage(ActivityThread.java:1234) at android.os.Handler.dispatch消息(处理程序.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.os.ActivityThread.main(ActivityThread.java:5041) at java.lang.reflect.method.invoke(Native Method.method.invoke(方法.java:511) at com.android.internal.os.ZygoteInit$.java Method.android.internal.os.511) 在 com.android.internal.os.560) 在 com.android.internal.os..java 560) 在dalvik.system.NativeStart.main(Native Method)

我的项目名称是Testing6及其gradle://顶级构建文件,您可以在其中添加所有子项目/模块通用的配置选项。

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.2.3'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

my app module gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion "23.0.0 rc2"

    defaultConfig {
        applicationId "com.example.daniel.testing6"
        minSdkVersion 15
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
        multiDexEnabled true // i added it because i got different problem
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.2.0'
    compile 'com.google.android.gms:play-services:8.1.0'
    compile project(path: ':backend', configuration: 'android-endpoints')
}

and my backend module:

// If you would like more information on the gradle-appengine-plugin please refer to the github page
// https://github.com/GoogleCloudPlatform/gradle-appengine-plugin

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.google.appengine:gradle-appengine-plugin:1.9.18'
    }
}

repositories {
    jcenter();
}

apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'appengine'

sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7

dependencies {
    appengineSdk 'com.google.appengine:appengine-java-sdk:1.9.18'
    compile 'com.google.appengine:appengine-endpoints:1.9.18'
    compile 'com.google.appengine:appengine-endpoints-deps:1.9.18'
    compile 'javax.servlet:servlet-api:2.5'
    compile 'com.googlecode.objectify:objectify:4.0b3'
    compile 'com.ganyo:gcm-server:1.0.2'
}

appengine {
    downloadSdk = true
    appcfg {
        oauth2 = true
    }
    endpoints {
        getClientLibsOnBuild = true
        getDiscoveryDocsOnBuild = true
    }
}

public class MainActivity extends MultiDexApplication {

    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);
    }


}

有人知道如何修理它吗???

共有3个答案

云伯寅
2023-03-14

在SDK管理器中安装/更新Android Support Library和Android Support Repository将修复此类错误

裴韬
2023-03-14

您还必须:

Include `compile 'com.android.support:multidex:1.0.0'` in your dependencies

有关详细信息,请参阅 https://developer.android.com/tools/building/multidex.html。

还可以让您的Application类扩展MultiDexApplication而不仅仅是Application。或者,您可以在应用程序attachBaseContext()中调用MultiDex.install()

祁凯泽
2023-03-14

问题解决了!

好的,所以我做了以下操作:

操纵:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.daniel.testing6" >

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />

    <permission
        android:name="com.example.gcm.permission.C2D_MESSAGE"
        android:protectionLevel="signature" />

    <uses-permission android:name="com.example.gcm.permission.C2D_MESSAGE" />

    <application
        android:name="com.example.daniel.testing6.Application"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".Main2Activity"
            android:label="@string/title_activity_main2"
            android:theme="@style/AppTheme.NoActionBar" >
        </activity>
    </application>

</manifest>

好吧,为了消除错误,我去了我的模块应用程序的gradle:所以它看起来像这样:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion "23.0.0 rc2"

    defaultConfig {
        applicationId "com.example.daniel.testing6"
        minSdkVersion 15
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile project(path: ':backend', configuration: 'android-endpoints')
    //
    compile 'com.android.support:appcompat-v7:22.2.1'
    compile 'com.google.android.gms:play-services:8.1.0'
    compile 'com.android.support:multidex:1.0.0'
    compile 'com.android.support:design:22.2.1'
}

接下来,我创建了一个应用程序,如下所示:

package com.example.daniel.testing6;

import android.content.Context;
import android.support.multidex.MultiDex;
import android.support.multidex.MultiDexApplication;

/**
 * Created by Daniel on 05-Oct-15.
 */
public class Application extends MultiDexApplication {
    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);
    }
}

一个主要活动通常是:

package com.example.daniel.testing6;

import android.content.Context;
import android.content.Intent;
import android.os.PersistableBundle;
import android.support.multidex.MultiDex;
import android.support.multidex.MultiDexApplication;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuItem;


public class MainActivity extends ActionBarActivity{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        startActivity(new Intent(this, Main2Activity.class));
    }

}

manifast调用正在上传其所有数据的应用程序,然后在数据到达时移动到活动:)

 类似资料:
  • 我从Eclipse中的SDK管理器重新安装了v7 appcompat库。然而,库本身告诉我错误存在于几个不同的xml文件中。 和错误: 有什么想法吗?

  • 今天我更新了一个新的SDK,然后我的项目出现了一个问题。我已经下载了Android支持存储库,但它仍然不起作用。错误:配置项目':app'时出现问题。 未能解析配置“:app:_debugcompile”的所有依赖项。找不到com.android.support:appcompat-v7:24.2.0。在以下位置搜索:文件:/c:/程序文件/android/android/support/m2re

  • 我不确定什么需要设置到23.1.1版本。我在Android SDK管理器的SDK Tools,Android SDK Build-Tools下查看了一下,没有23.1.1的选项。(那是我应该找的地方吗?)我看到23.0.1,23.0.2(已安装),23.0.3。还安装了Android SDK平台23。 我需要添加一个自定义站点来获得缺失的23.1.1选项吗?我不知道该怎么做,或者是什么网站,如果这

  • 我在用Android Studio。我使用浮动操作按钮,所以当我使用它给我错误,并告诉我更新android支持库v7到22.2.0版本。因此,当我将v7支持库更新到22.2.0版本并进行同步时,它会给出错误,无法找到:com.android.support:appcompat-v7:22.2.0版本。如何解决此错误?

  • 我在尝试构建时突然开始出现这个错误。这一切都是在几个星期前的工作,没有任何变化,我知道。这个问题似乎与有关,但查看它的build.gradle,它没有列出。有什么建议吗? Build.Gradle

  • 我检查并更新了我的android SDK(也是react-native-image-crop-picker),但我一直找不到支持27.+的版本。 以下是更多信息 CompilesDK版本27 buildToolsVersion“27.0.3” defaultConfig{ 编译“com.facebook.react:react-native:+” 编译'com.github.yalantis:uc