2017-03-05 3 views
2

Nachdem Sie die genannten Anweisungen finden.Versuch MultiDex Unterstützung hinzufügen kann nicht Symbolkontext und MultiDex

package com.mycompany.mypackage; 

import android.app.Application; 
import android.util.Log; 

import com.facebook.react.ReactApplication; 
import com.slowpath.hockeyapp.RNHockeyAppModule; 
import com.slowpath.hockeyapp.RNHockeyAppPackage; 
import com.microsoft.codepush.react.CodePush; 
import com.facebook.react.ReactInstanceManager; 
import com.facebook.react.ReactNativeHost; 
import com.facebook.react.ReactPackage; 
import com.facebook.react.shell.MainReactPackage; 

import com.sbugert.rnadmob.RNAdMobPackage; 

import com.lugg.ReactNativeConfig.ReactNativeConfigPackage; 

import com.geektime.reactnativeonesignal.ReactNativeOneSignalPackage; 
import com.dieam.reactnativepushnotification.ReactNativePushNotificationPackage; 

import com.reactnative.ivpusic.imagepicker.PickerPackage; 

import com.github.xinthink.rnmk.ReactMaterialKitPackage; 

import com.learnium.RNDeviceInfo.RNDeviceInfo; 

import com.burnweb.rnpermissions.RNPermissionsPackage; 

import net.zubricky.AndroidKeyboardAdjust.AndroidKeyboardAdjustPackage; 

// react-native-fbsdk 
import com.facebook.CallbackManager; 
import com.facebook.FacebookSdk; 
import com.facebook.reactnative.androidsdk.FBSDKPackage; 
import com.facebook.appevents.AppEventsLogger; 
// react-native-fbads 
import io.callstack.react.fbads.FBAdsPackage; 

import java.util.Arrays; 
import java.util.List; 

public class MainApplication extends Application implements ReactApplication { 
    @Override 
    protected void attachBaseContext(Context base) { 
    super.attachBaseContext(context); 
    MultiDex.install(this); 
    } 


    // react-native-fbsdk 
    private static CallbackManager mCallbackManager = CallbackManager.Factory.create(); 
    protected static CallbackManager getCallbackManager() { 
    return mCallbackManager; 
    } 
    @Override 
    public void onCreate() { 
    super.onCreate(); 
    FacebookSdk.sdkInitialize(getApplicationContext()); 
    // If you want to use AppEventsLogger to log events. 
    AppEventsLogger.activateApp(this); 
    } 

    private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) { 

    @Override 
    protected String getJSBundleFile() { 
     return CodePush.getJSBundleFile(); 
    } 

    @Override 
    protected boolean getUseDeveloperSupport() { 
     return BuildConfig.DEBUG; 
    } 

    @Override 
    protected List<ReactPackage> getPackages() { 
     return Arrays.<ReactPackage>asList(
      new MainReactPackage(), 
      new RNHockeyAppPackage(MainApplication.this), 
      new CodePush("mykey", MainApplication.this, BuildConfig.DEBUG), 
      new ReactNativeConfigPackage(), 
      new ReactNativeOneSignalPackage(), 
      new ReactNativePushNotificationPackage(), 
      new RNAdMobPackage(), 
      new PickerPackage(), 
      new ReactMaterialKitPackage(), 
      new RNDeviceInfo(), 
      new RNPermissionsPackage(), 
      new AndroidKeyboardAdjustPackage(), 
      new FBSDKPackage(mCallbackManager), 
      new FBAdsPackage() 
    ); 
    } 

    }; 

    @Override 
    public ReactNativeHost getReactNativeHost() { 
     return mReactNativeHost; 
    } 
} 

build.gradle

dependencies { 
    compile project(':react-native-device-info') 
    compile project(':react-native-hockeyapp') 
    compile project(':react-native-code-push') 
    compile project(':react-native-image-crop-picker') 
    compile project(':react-native-vector-icons') 
    compile project(':react-native-material-kit') 
    compile project(':react-native-config') 
    compile project(':RNAdMob') 
    compile project(':react-native-onesignal') 
    compile project(':react-native-push-notification') 
    compile project(':RNPermissionsModule') 
    compile project(':react-native-android-keyboard-adjust') 
    compile project(':react-native-fbsdk') 
    compile(project(':react-native-fbads')) { 
     exclude group: "com.google.android.gms" 
    } 
    compile 'com.google.firebase:firebase-core:10.2.0' 
    compile 'com.google.firebase:firebase-crash:10.2.0' 
    compile 'com.google.firebase:firebase-ads:10.2.0' 

    compile fileTree(dir: "libs", include: ["*.jar"]) 
    compile "com.android.support:appcompat-v7:23.0.1" 
    compile "com.facebook.react:react-native:+" // From node_modules 
    compile "com.facebook.fresco:animated-gif:0.12.0" 
    compile 'com.android.support:multidex:1.0.1' 
} 

Gibt es etwas, was ich hinzufügen oder importieren, um diese an die Arbeit?

+0

Haben Sie den mutidex zu Ihrem Gerät hinzugefügt? Außerdem müssen Sie dies nicht tun - erweitern Sie einfach MultiDexApplication anstelle von Application. –

+0

@GabeSechan Hi, danke für deine Hilfe. Ja, ich habe meinen Beitrag mit meinem build.gradle bearbeitet. Die Erweiterung von MultiDexApplication scheint mir viel mehr Fehler zu geben, daher muss ich stattdessen die Methode MultiDex.install verwenden. – kayla

+0

Haben Sie Gradle synchronisiert und eine vollständige Neuerstellung durchgeführt? Die Verwendung der anderen Methode wird nicht helfen. Ihr Problem ist ein Syntaxfehler, kein logischer Fehler. Auch, Sie schneiden sie aus, aber haben Sie alle richtigen Importe? –

Antwort

7

Dank @Gabe Sechan für die Hilfe. Ich kenne React Native/JavaScript, eine Art Ahnung von Android/Java, also folgte ich einfach den Anweisungen unter https://developer.android.com/studio/build/multidex.html#mdex-gradle, die keine zusätzlichen Importe erwähnt. Ich habe gelernt, das Paket, das ich brauchte, nachzuschlagen: https://developer.android.com/reference/android/support/multidex/MultiDexApplication.html. Nach dem Hinzufügen:

import android.support.multidex.MultiDexApplication; 

public class MainApplication extends MultiDexApplication implements ReactApplication { 
... 

App scheint zu bauen und auf Android 4.4.4 + Geräte erfolgreich ausgeführt werden. Auf meinem Samsung Galaxy S3-Simulator läuft jedoch 4.3, ich bekomme einen Absturz beim App-Start: What does WIN DEATH: android.osDeadObjectException mean?, die insgesamt scheint ein anderes Problem.

Verwandte Themen