package com.example.song.reactnativeappdemo; import android.app.Application; import android.content.Context; import android.util.Log; import com.example.song.reactnativeappdemo.communication.CommPackage; import com.example.song.reactnativeappdemo.constants.FileConstant; import com.facebook.react.ReactApplication; import com.facebook.react.ReactNativeHost; import com.facebook.react.ReactPackage; import com.facebook.react.shell.MainReactPackage; import com.facebook.soloader.SoLoader; import java.io.File; import java.util.Arrays; import java.util.List; import javax.annotation.Nullable; /** * Created by Song on 2017/2/13. */ public class MainApplication extends Application implements ReactApplication { public static Context appContext; private static MainApplication instance; private static final CommPackage mCommPackage = new CommPackage(); @Override public void onCreate() { super.onCreate(); instance = this; appContext = getApplicationContext(); SoLoader.init(this,false); } private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) { @Nullable @Override protected String getJSBundleFile() { File file = new File (FileConstant.JS_BUNDLE_LOCAL_PATH); if(file != null && file.exists()) { return FileConstant.JS_BUNDLE_LOCAL_PATH; } else { return super.getJSBundleFile(); } } @Override public boolean getUseDeveloperSupport() { return BuildConfig.DEBUG; } @Override protected List<ReactPackage> getPackages() { return Arrays.<ReactPackage>asList( new MainReactPackage(), mCommPackage ); } }; @Override public ReactNativeHost getReactNativeHost() { return mReactNativeHost; } /** *包名 */ public String getAppPackageName() { return this.getPackageName(); } /** * 获取Application实例 */ public static MainApplication getInstance() { return instance; } /** * 获取 reactPackage * @return */ public static CommPackage getReactPackage() { return mCommPackage; } }