2017-04-22 11 views
0

私は、Googleマップ上のユーザ間の場所を共有し、コンテンツプロバイダを使用してデータベースをソートおよび取得し、Firebaseメッセージングを使用してチャットメッセージを開くアプリケーションを持っています。 Androidのコンテンツプロバイダ一緒に競合が起こると私は、コンテンツプロバイダまたはfirebaseメッセージングを使用する場合、別途、彼らはうまく機能し、私は両方からの出力を持っていますが、私は両方を組み合わせたら、私はそのメッセージ持っているが、私は、以下のエラーが見つかりました:Firebaseのメッセージングとコンテンツプロバイダを使用するときに競合する

04-22 09:13:36.734 23186-23186/pioneers.safwat.onecommunity E/AndroidRuntime: FATAL EXCEPTION: main 
                       java.lang.RuntimeException: Unable to get provider com.google.firebase.provider.FirebaseInitProvider: java.lang.ClassNotFoundException: Didn't find class "com.google.firebase.provider.FirebaseInitProvider" on path: /data/app/pioneers.safwat.onecommunity-5.apk 
                        at android.app.ActivityThread.installProvider(ActivityThread.java:5199) 
                        at android.app.ActivityThread.installContentProviders(ActivityThread.java:4802) 
                        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4686) 
                        at android.app.ActivityThread.access$1400(ActivityThread.java:168) 
                        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1389) 
                        at android.os.Handler.dispatchMessage(Handler.java:99) 
                        at android.os.Looper.loop(Looper.java:177) 
                        at android.app.ActivityThread.main(ActivityThread.java:5496) 
                        at java.lang.reflect.Method.invokeNative(Native Method) 
                        at java.lang.reflect.Method.invoke(Method.java:525) 
                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1225) 
                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1041) 
                        at dalvik.system.NativeStart.main(Native Method) 
                       Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.firebase.provider.FirebaseInitProvider" on path: /data/app/pioneers.safwat.onecommunity-5.apk 
                        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:64) 
                        at java.lang.ClassLoader.loadClass(ClassLoader.java:501) 
                        at java.lang.ClassLoader.loadClass(ClassLoader.java:461) 
                        at android.app.ActivityThread.installProvider(ActivityThread.java:5184) 
                        at android.app.ActivityThread.installContentProviders(ActivityThread.java:4802)  
                        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4686)  
                        at android.app.ActivityThread.access$1400(ActivityThread.java:168)  
                        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1389)  
                        at android.os.Handler.dispatchMessage(Handler.java:99)  
                        at android.os.Looper.loop(Looper.java:177)  
                        at android.app.ActivityThread.main(ActivityThread.java:5496)  
                        at java.lang.reflect.Method.invokeNative(Native Method)  
                        at java.lang.reflect.Method.invoke(Method.java:525)  
                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1225)  
                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1041)  
                        at dalvik.system.NativeStart.main(Native Method)  

私のGradleファイルは(モジュール):

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 25 
    buildToolsVersion "25.0.2" 
    defaultConfig { 
     applicationId "pioneers.safwat.onecommunity" 
     minSdkVersion 18 
     targetSdkVersion 25 
     multiDexEnabled true 
     versionCode 1 
     versionName "1.0" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    } 
    buildTypes { 
     release { 
      minifyEnabled true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 

     } 
    } 
} 

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
     exclude group: 'com.android.support', module: 'support-annotations' 
    }) 
    compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha7' 
    // compile 'com.google.android.gms:play-services-maps:10.0.1' 
    compile 'com.android.support:appcompat-v7:25.2.0' 
    compile 'com.google.android.gms:play-services-location:10.2.1' 
    // compile 'com.google.android.gms:play-services-plus:10.0.1' 
    compile 'com.android.support:support-v4:25.2.0' 
    compile 'com.android.support:design:25.2.0' 
    compile 'com.android.support:multidex:1.0.1' 
    compile 'com.firebaseui:firebase-ui:0.6.1' 
    compile 'com.google.android.gms:play-services:10.2.1' 
    compile 'com.google.android.gms:play-services-maps:10.2.1' 
    compile 'com.google.firebase:firebase-core:10.0.1' 
    testCompile 'junit:junit:4.12' 
} 

apply plugin: 'com.google.gms.google-services' 

と私のGradleファイル(ビルド):

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

     // NOTE: Do not place your application dependencies here; they belong 
     // in the individual module build.gradle files 
     classpath 'com.google.gms:google-services:3.0.0' 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
    } 
} 

task clean(type: Delete) { 
    delete rootProject.buildDir 
} 

と私のマニフェスト:マニフェスト

<application 
    .... 
    android:name=".MyApplication"> 

// ... 
</application> 

でこれを追加すること

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="pioneers.safwat.onecommunity"> 
    <permission 
     android:name="pioneers.safwat.onecommunity.permission.MAPS_RECEIVE" 
     android:protectionLevel="signature"/> 

    <uses-permission android:name="pioneers.safwat.onecommunity.permission.MAPS_RECEIVE"/> 

    <uses-permission android:name="android.permission.INTERNET"/> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 
    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 
     <activity android:name=".Start"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity android:name=".Authentic"/> 
     <activity android:name=".MainActivity"/> 
     <activity android:name=".UserData"/> 
     <activity android:name=".UpdateData"/> 
     <provider 
      android:name=".Myprovider" 
      android:authorities="pioneers.safwat.onecommunity.Myprovider" 
      android:exported="true" 
      android:multiprocess="true"/> 
     <meta-data 
      android:name="com.google.android.maps.v2.API_KEY" 
      android:value="" /> 
    </application> 

</manifest> 
+0

マップと位置のグラデーションラインを削除します。コンパイル 'com.google.android.gms:play-services:10.2.1'のみを使用してください。 –

答えて

0

試行したクラスを作ります。

public class MyApplication extends Application { 

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

} 

詳細については、このlinkを試してみてください。

関連する問題