Boa noite George, tudo bem?
A documentação diz que a classe deve estar dessa forma:
//+ imports adicionais necessários
import com.reactnativenavigation.NavigationApplication;
public class MainApplication extends NavigationApplication {
@Override
public boolean isDebug() {
// Make sure you are using BuildConfig from your own application
return BuildConfig.DEBUG;
}
protected List getPackages() {
// Add additional packages you require here
// No need to add RnnPackage and MainReactPackage
return Arrays.asList(
// eg. new VectorIconsPackage()
);
}
@Override
public List createAdditionalReactPackages() {
return getPackages();
}
}
E que a partir do React Native 0.49 é usado apenas o arquivo 'index.js' então deve adicionar mais um trecho de código na classe:
Also, add the following
@Override
public String getJSMainModuleName() {
return "index";
}
Caso não tenha adicionado ou não tenha excluído o trecho anterior da classe que usa esse método, o React native navigation parece renderizar por padrão o arquivo index.android.js(no caso do Android) por isso precisa da implementação desse método adicional para sobrescrever o arquivo inicial chamado. Você pode ver o arquivo que esta sendo renderizado ao iniciar o pacote (comando react-native start), fica algo como isso no terminal:
Looking for JS files in
/home/lucas/workspace/react-native/InstaluraMobile
Metro Bundler ready.
Loading dependency graph, done.
BUNDLE [android, dev] ./index.js ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ 100.0% (500/500), done.
Nesse exemplo esta chamando o index.js, caso o seu esteja 'index.android.js' provavelmente você utiliza o React Native 0.49 ou acima, nesse caso é apenas adicionar o método mostrado na documentação, retirar os métodos antigos e reiniciar o pacote que o problema deve ser resolvido.
Abraço!