2017-01-20 7 views
9

[email protected]part of the setupにapplicationIdSuffixを指定しています。react applicationIdSuffixの使用時にネイティブアプリが起動しない

以前のアプリでこれを問題なしで設定しました(React Native 0.37)。私はこのプロジェクトで2度このエラーが発生しました(React Native 0.40)。私がプロジェクト全体を再構築して初めてそれがなくなったのです。それは私のプロジェクトの最後の安定したバージョンを新しいディレクトリにクローンし、同じエラーが発生しました。

react-native run-androidを使用するとエラーが発生します。エラーはビルドが成功した後に起こる:私はapp/build.gradleからapplicationIdSuffix ".debug"を削除して、アプリが問題なく自分の携帯電話上で開始した場合

Starting: Intent { cmp=com.packagename/.MainActivity } 
Error type 3 
Error: Activity class {com.packagename/com.packagename.MainActivity} does not exist. 

エラーが表示されなくなります。

携帯電話はAndroid 7.0搭載のNexus 6Pです。私はシミュレータをセットアップしていないので物理的なデバイスで試してみました。

私は他のプロジェクトと比べてすべてを3回チェックしましたが、構成上の問題ではないと思います。

+0

に私のために働きました。私にも起こります。 – Andreyco

+1

私が信じている反応チームに精通しています:https://github.com/facebook/react-native/pull/8950 – vonGohren

答えて

6

githubについて長いこと(1年以上)議論されており、途中にいくつかのパッチがあるようですので、以下の修正はバージョンによっては動作しないかもしれません。使用しているreact-native

問題を(一時的に)解決しました。問題はreact-native-cli試行が間違った引数でadb shell am startをコールすることである:react-nativeのバージョンが修正されるまでだから、あなたは(このコマンドを使用することができます

com.packagename.debug/com.packagename.MainActivity 

のようなものを呼び出すべきである

com.packagename/com.packagename.MainActivity 

this code-push PRで推奨されているように:

cd android && ./gradlew installDebug && adb -s <DEVICE_ID> shell am start -n com.packageName.debug/com.packageName.MainActivity 

これは完璧な修正ではないが、github上のパッチがありますこれは基本的に同じことです(2つの問題と関連して、here & here)。

1

本当の解決策も見つかりませんでした。今、私は反応ネイティブのrun -...を使用しないで回避策を使用していますが、AndroidStudioを直接使用します。

http://sex-gril.com/project/45838.htmlにヒントがあります。これは、build.gradleのdefaultConfigにパッケージ名を追加する必要があると言っています。

android { 
    ... 
    defaultConfig { 
     ... 
     resValue "string", "build_config_package", "Your App ID LIke in Manifest" 
    } 
} 

しかし、それは私にとってはうまくいかなかった。

4

これは、手動で携帯電話にアプリを起動した後に実行する必要があり反応し、ネイティブ0.50.3

react-native run-android --appIdSuffix "debug"

関連する問題