2017-05-26 4 views
0

AwesomeProjectの例の開始画面( https://facebook.github.io/react-native/docs/getting-started.html)にスプラッシュ画面https://medium.com/handlebar-labs/how-to-add-a-splash-screen-to-a-react-native-app-ios-and-android-30a3cec835aeを追加しました。run-androidがデバイスに接続されているときにエラーが発生する

私は6P私のネクサスを接続し、反応させ、ネイティブ実行のAndroidを実行し、私はこのエラーに

This build could be faster, please consider using the Gradle Daemon: https://docs.gradle.org/2.14.1/userguide/gradle_daemon.html 
Running /home/Android/Sdk/platform-tools/adb -s 84B7N15A10013562 reverse tcp:8081 tcp:8081 
Starting the app on 84B7N15A10013562 (/home/Android/Sdk/platform-tools/adb -s 84B7N15A10013562 shell am start -n com.testprj1/.MainActivity)... 
Starting: Intent { cmp=com.testprj1/.MainActivity } 
java.lang.SecurityException: Permission Denial: starting Intent { flg=0x10000000 cmp=com.testprj1/.MainActivity } from null (pid=23823, uid=2000) not exported from uid 10161 
     at android.os.Parcel.readException(Parcel.java:1684) 
     at android.os.Parcel.readException(Parcel.java:1637) 
     at android.app.ActivityManagerProxy.startActivityAsUser(ActivityManagerNative.java:3137) 
     at com.android.commands.am.Am.runStart(Am.java:643) 
     at com.android.commands.am.Am.onRun(Am.java:394) 
     at com.android.internal.os.BaseCommand.run(BaseCommand.java:51) 
     at com.android.commands.am.Am.main(Am.java:124) 
     at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method) 
     at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:262) 

を取得しています。しかし、私はエミュレータ上で同じ実行した場合にエラー

+0

多分そこに「--main活性」コマンドを使用して、最後に起動するアクティビティ名を追加しているターミナル

react-native run-android --main-activity SplashActivity 

お知らせで次のコマンドを実行して解決するためにあなたのエミュレータにいくつかのキャッシュがあります、アンドロイドプラットフォームは常にこれを行った –

+0

@ shresthaal、以下の私の答えをチェックして、それがあなたのために働くかどうかを教えてください –

答えて

2

がによるありませんあなたが投稿したチュートリアルでは、新しいランチャーアクティビティはSplashActivityであり、MainActivityではありません。しかし、デフォルトでは、反応ネイティブcliはMainActivityを起動しようとしますが、この許可エラーが発生します。このパスのrunAndroid.jsファイルのコードを読んでください。 your_project/node_modules/react-native/local-cli/runAndroid.js。また、アプリケーションの起動時に使用できるこれらのコマンドも確認してください。

module.exports = { 
    name: 'run-android', 
    description: 'builds your app and starts it on a connected Android 
    emulator or device', 
    func: runAndroid, 
    options: [{ 
     command: '--install-debug', 
    }, 
    { 
     command: '--root [string]', 
     description: 'Override the root directory for the android build (which contains the android directory)', 
     default: '', 
    }, 
    { 
     command: '--flavor [string]', 
     description: '--flavor has been deprecated. Use --variant instead', 
    }, 
    { 
     command: '--variant [string]', 
    }, 
    { 
     command: '--main-activity [string]', 
     description: 'Name of the activity to start', 
     default: 'MainActivity', 
    }, 
    { 
     command: '--deviceId [string]', 
     description: 'builds your app and starts it on a specific device/simulator with the given device id (listed by running "adb devices" on the command line).', 
    }, 
    { 
     command: '--no-packager', 
     description: 'Do not launch packager while building', 
    }], 
}; 

エミュレータでも機能するはずがありません。エミュレータからアプリケーションをアンインストールしてもう一度実行すると、動作しません。今

は、問題は、我々が

関連する問題