React-Native: Module AppRegistry is not a registered callable module

I solved this issue just by adding

import { AppRegistry } from "react-native";
import App from "./App";
import { name as appName } from "./app.json";  
AppRegistry.registerComponent(appName, () => App);

to my index.js

make sure this exists in your index.js


I had the same issue on iOS and the cause for me was that my index.ios.js was incorrect (because I copy-pasted one of the examples without looking at its contents), it was ending with a module export declaration

exports.title = ...
exports.description = ...
module.exports = MyRootComponent;

Instead of the expected

AppRegistry.registerComponent('MyAppName', () => MyRootComponent);

You could have the same issue on android with the index.android.js I guess.


i just upgraded to react-native 0.18.1 today tough having some peer dependencies issues with 0.19.0-rc pre-release version.

Back to your question, what I did was

  1. cd android
  2. sudo ./gradlew clean (more information about how clean works here)

then back to the working directory and run react-native run-android

you should restart your npm too after that upgrade.

hope this works for you.


The one main reason of this problem could be where you would have installed a plugin and forget to link it.

try this:

react-native link

Re-run your app.

Hope this will help. Please let me know in comments. Thanks.