2017-03-01 21 views
3

Android用Facebook SDKでこのエラーが発生したことはありますか?Facebook SDK Android、java.lang.RuntimeException:プロバイダーを取得できませんcom.facebook.internal.FacebookInitProvider

java.lang.RuntimeException: にjava.lang.ClassNotFoundException:パス上のクラス "com.facebook.internal.FacebookInitProvider" を見つけることができませんでしたプロバイダ com.facebook.internal.FacebookInitProviderを取得できません: DexPathListは、[[次のコードは、私のためにmultidexの問題を修正し

+1

これは初めての設定ですか?またはSDKに変更を加えた後でこのエラーが発生していますか? –

+1

これはポストセットアップであり、この前にSDKに問題はありませんでした。 – kaizenx

+0

私の悪い@MohammedAtif、それは私の最初のインストールです。 – kaizenx

答えて

0

] "/data/app/com.hellogold.app.dev-2/base.apk" zipファイルを。私はエンジニアのブログ記事のグループからそれらを入手し、元のリンクを覚えていないと思っています。もし誰かがそれを見つけることができればコメントにリンクしてください。 。

android.applicationVariants.all { variant -> 
    task "fix${variant.name.capitalize()}MainDexClassList" << { 
     logger.info "Fixing main dex keep file for $variant.name" 
     File keepFile = new File("$buildDir/intermediates/multi-dex/$variant.buildType.name/maindexlist.txt") 
     keepFile.withWriterAppend { w -> 
      // Get a reader for the input file 
      w.append('\n') 
      new File("${projectDir}/multidex.keep").withReader { r -> 
       // And write data from the input into the output 
       w << r << '\n' 
      } 
      logger.info "Updated main dex keep file for ${keepFile.getAbsolutePath()}\n$keepFile.text" 
     } 
    } 
} 
tasks.whenTaskAdded { task -> 
    android.applicationVariants.all { variant -> 
     if (task.name == "create${variant.name.capitalize()}MainDexClassList") { 
      task.finalizedBy "fix${variant.name.capitalize()}MainDexClassList" 
     } 
    } 
} 

は、したがって、上記の

compileSdkVersion 25 minSdkVersion 16 targetSdkVersion 25 multiDexEnabled true

のために働いていた私は、アプリのGradleのではなく、メインのGradleでそれを宣言しました。

+0

最初のコードブロックをどこに置くことができますか? –

+0

@EthanFischerリポジトリを宣言してプラグインを適用した後 – kaizenx

0

私はApp.onCreateのMultiDex.installを呼び出して、App.attachBaseContext()に移動して同じ問題を抱えていたため、問題を解決しました。 App.onCreateの前にインストールが開始されるためです。

関連する問題