web-dev-qa-db-ja.com

Android NoClassDefFoundError:com.google.firebase.FirebaseOptions

コードを実行すると、Adroidstudioでエラーが発生します

以下のような私のgradleファイルとAndroid Studiov2.2gradleは 'com.Android.tools.build:gradle:2.2.0-alpha1'です

    apply plugin: 'com.Android.application'

Android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    packagingOptions {

        exclude 'META-INF/DEPENDENCIES'
    }

    defaultConfig {
        applicationId "com.asd.asd"
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 9
        versionName "1.3.4"
        multiDexEnabled true
    }

    buildTypes {
        release {
            debuggable false
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.txt'
        }
    }
    dexOptions {

        javaMaxHeapSize "4g"
        jumboMode true
        preDexLibraries false
    }
}

    dependencies {
        compile project(':mPChartLib')
        compile fileTree(dir: 'libs', include: ['*.jar'])
        testCompile 'junit:junit:4.12'
        compile 'com.Android.support:appcompat-v7:23.1.1'
        compile 'com.google.code.gson:gson:2.3.1'
        compile files('libs/commons-httpclient-3.1.jar')
        compile files('libs/signpost-commonshttp4-1.2.1.2.jar')
        compile files('libs/signpost-core-1.2.1.2.jar')
        compile files('libs/pushwoosh-4.0.4.jar')
        compile files('libs/httpcore-4.4.4.jar')
        compile files('libs/httpclient-4.5.2.jar')
        compile 'com.google.Android.gms:play-services:9.0.0'



    }


05-30 20:41:50.785 14551-14551/com.asd.asd/AndroidRuntime: FATAL EXCEPTION: main                                                                     Process: com.asd.asd, PID: 14551
                                                                         Java.lang.NoClassDefFoundError: com.google.firebase.FirebaseOptions
                                                                             at com.google.firebase.FirebaseApp.zzbu(Unknown Source)
                                                                             at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source)
                                                                             at Android.content.ContentProvider.attachInfo(ContentProvider.Java:1638)
                                                                             at Android.content.ContentProvider.attachInfo(ContentProvider.Java:1609)
                                                                             at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source)
                                                                             at Android.app.ActivityThread.installProvider(ActivityThread.Java:5008)
                                                                             at Android.app.ActivityThread.installContentProviders(ActivityThread.Java:4582)
                                                                             at Android.app.ActivityThread.handleBindApplication(ActivityThread.Java:4522)
                                                                             at Android.app.ActivityThread.access$1500(ActivityThread.Java:151)
                                                                             at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1381)
                                                                             at Android.os.Handler.dispatchMessage(Handler.Java:110)
                                                                             at Android.os.Looper.loop(Looper.Java:193)
                                                                             at Android.app.ActivityThread.main(ActivityThread.Java:5292)
                                                                             at Java.lang.reflect.Method.invokeNative(Native Method)
                                                                             at Java.lang.reflect.Method.invoke(Method.Java:515)
                                                                             at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:824)
                                                                             at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:640)
                                                                             at dalvik.system.NativeStart.main(Native Method)

firebaseアプリケーションを使用していませんが、このエラーが発生しました。だから私はインターネット上にあるたくさんのテクニックを試してみます。しかし、変化に注意してください。

plsを手伝ってくれませんか

7

最初にSDKでGoogle Repositoryを更新し、次にmultidexを有効にします。

defaultConfig {
    minSdkVersion 15
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
    multiDexEnabled true
}

でコンパイル

compile 'com.Android.support:multidex:1.0.1'
classpath 'com.google.gms:google-services:3.0.0' 
4
Amit Basliyal

このバグは、主にリビジョン28,29前後の新しいバージョンで報告されており、新しいPlay開発者サービスバージョンで解決されているため、この問題が発生した場合は、最初にAndroidスタジオでGooglePlay開発者サービスのバージョンを更新してください。

次の手順を実行します:

  1. Android SDKManagerに移動します
  2. エクストラに移動

enter image description here

そして、それをバージョン30以降に更新します。

次に、アプリケーションでMultiDexを使用している場合は、必須の場合にのみ使用してください。

MultiDexを統合するときは、次の手順に従っていることを確認してください。

あなたの中でアプリレベルのBuild.Gradle

 defaultConfig {
        applicationId "com.reversebits.tapanhp.saffer"
        minSdkVersion 17
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
    }

dependenciesにMultiDex依存関係を適用します

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    wearApp project(':wear')
    testCompile 'junit:junit:4.12'
    compile 'com.Android.support:appcompat-v7:23.4.0'
    compile 'com.google.Android.gms:play-services:9.4.0'
    compile 'com.Android.support:multidex:1.0.1'
}

次に、AndroidMenifest.xmlファイル内で、Applicationタグの名前がMultiDexApplicationであることを確認します。 -)。

<application
        Android:name="Android.support.multidex.MultiDexApplication"
        Android:allowBackup="true"
        Android:icon="@mipmap/ic_launcher"
        Android:label="@string/app_name"
        Android:supportsRtl="true"
        Android:theme="@style/AppTheme">

注意

カスタムアプリケーションクラスがあり、それをメニフェストファイルで使用している場合は、アプリケーションクラスでmultidexを初期化できます次のように、

public class AppClass extends Application {
    private static Context context;
    private static AppClass mInstance;

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

}
3
TapanHP

トップレベルのbuild.gradleに、以下を追加する必要があります。

buildscript {
    // ...
    dependencies {
        // ...
        classpath 'com.google.gms:google-services:3.0.0'
    }
}

次に、モジュールでbuild.gradle

apply plugin: 'com.Android.application'

Android {
  // ...
}

dependencies {
  // ... 

}

// ADD THIS AT THE BOTTOM
apply plugin: 'com.google.gms.google-services'
1

1、SDK Managerを開き、Google Play Services(rev 30)およびGoogle Repository(rev 26)をインストールします。

2、プロジェクトのbuild.gradleにclasspath 'com.google.gms:google-services:3.0.0'を追加します。

0
zys

あなたはあなたのgradle.buildにMultidexライブラリを含めるべきです

compile 'com.Android.support:multidex:1.0.1'

また、@ Lollipopが提案しているように、Google Play開発者サービスをダウンロードして、プロジェクトにクラスパスを追加する必要があります。 Firebaseが正しく機能するには、このライブラリが必要です。

[〜#〜]編集[〜#〜]

buildscript 
{ 
dependencies 
 { 
   classpath 'com.google.gms:google-services:3.0.0' 
 } 
}
0
Naveen T P