2016-01-25 7 views
28

React Native android appをコンパイルしようとするとこのエラーが発生します。 AndroidアプリでBuildConfig.DEBUGを解決できません。ネイティブAndroidのビルドエラーに反応しますMainActivity.java:29:エラー:シンボルが見つかりません

:app:processDebugJavaRes UP-TO-DATE 
:app:compileDebugJavaWithJavac 
/Users/amirsharif/mobile-rappad/android/app/src/main/java/com/rappadmobile/MainActivity.java:29: error: cannot find symbol 
       .setUseDeveloperSupport(BuildConfig.DEBUG) 
             ^
    symbol: variable BuildConfig 
    location: class MainActivity 
>1 error 
:app:compileDebugJavaWithJavac FAILED 

私は一時的にtrueに設定することで解決できます。 これは、アプリケーション名を変更した後に発生した可能性があります(これもやっていることです)。

私は恐らくGradleで何かを変更して、正しい種類のファイルを再度生成する必要があります。

/** 
* Automatically generated file. DO NOT MODIFY 
*/ 
package com.app; 

public final class BuildConfig { 
    public static final boolean DEBUG = Boolean.parseBoolean("true"); 
    public static final String APPLICATION_ID = "com.rappadmobile"; 
    public static final String BUILD_TYPE = "debug"; 
    public static final String FLAVOR = ""; 
    public static final int VERSION_CODE = 1; 
    public static final String VERSION_NAME = "1.0"; 
} 

答えて

29

私はreact-native upgradeでプロジェクトを再構築。 私の問題は、(私はpackage.jsonのアプリの名前を変更したので)古いパッケージ名を参照していた古いファイルがあることです。一度それらを削除すると、私は問題を解決しました。

+0

はどうもありがとうございました!これを理解しようとした日々。 –

+0

古いAppNameのディレクトリは削除する必要があります./android/app/src/main/java/com ..and ./ios – remo

+0

チャームのように働いた –

39

AndroidManifest.xmlで設定されたフィールドを使用することで、特定のファイルをどこで見つけるか、特定のファイルを接続する方法をアンドロイドが知っています。 React Nativeプロジェクトの既定の設定以降、。(名前)のすべてを参照すると、<manifest>タグで設定されたパッケージ名に関してすべてが解決されることを意味します。したがって、すべてのことがうまくいくためには、期待どおりに生成されるためには、MainActivity.javaへのパスはパッケージ名と同じでなければなりません。

例:

アプリのパッケージ名:MainActivity.javaの com.mycompanyname.myappname

場所:あなたのMainActivity.javaandroid/app/src/main/java/com/mycompanyname/myappname/MainActivity.java

+2

パッケージ名が "com.mycompany.myapp"の場合感受性が高い。 /android/app/build.gradle内のapplicationIdも変更する必要があります –

18

、あなたは最初の行はpackage com.YOU_APP_NAME;

この場合にあるチェックすることができます行が存在しない場合は、これを追加する必要があります。

+0

私は自分のパッケージ名を変更しようとしましたが、これは私が忘れた最後のものでした! Thnx! –

+2

参考のために、MainApplication.javaのパッケージ名も変更する必要がありました。 – bardu

1

いくつかの回答の組み合わせは、私を助け、要約:

  • 必ずあなたのjavascriptのパッケージ名を確認します
  • 更新正しいパッケージ名Gradleのビルドファイル内
  • 更新マニフェストにパッケージ名ファイル
  • javascriptソースへのパスがパッケージ名と一致するフォルダ構造であることを確認してください
2

android/app/src/main/java/com にあるかもしれない古いファイルを削除してください。ファイルを新しい名前で保存してください。次にreact-native upgradeを実行します。

1

私のケースでは、BUCKファイルとManifestファイルの両方でパッケージ名を変更しました。

BUCKファイルでは以下のように変更されます。ネイティブが反応し、このエラーを解決し

android_build_config(
    name = "build_config", 
    package = "NEW_PACKAGE_NAME", 
) 

android_resource(
    name = "res", 
    package = "NEW_PACKAGE_NAME", 
    res = "src/main/res",) 
0

のアップグレード -

react-native upgrade 

今、再構築 -

react-native run-android