“Package R n'existe pas” erreur lors de la construction avec Gradle en ligne de commande

Je suis attemping pour construire un Android projet avec Gradle en ligne de commande, mais a trouvé un problème lorsque je veux changer la structure de répertoire.

Actuellement, c'est comme cela:

.
└── main
    ├── AndroidManifest.xml
    ├── ic_launcher-web.png
    ├── java
       └── com 
           └── myproject
               └── MainActivity.java
    └── res 
        ├── ... 
        ├── layout
           ├── activity_main.xml
           └── fragment_main.xml
        ├── ... 
        ...

Puis-je exécuter:

./gradlew clean build

Qui se termine par:

BUILD SUCCESSFUL

Ok. Tous beaux. Mais maintenant, je veux créer un nouveau répertoire, donc:

- Je créer un ui répertoire et le déplacement MainActivity.java là:

.
└── main
    ├── AndroidManifest.xml
    ├── ic_launcher-web.png
    ├── java
       └── com
           └── myproject
               └── ui
                   └── MainActivity.java
    └── res
        ├── ...
        ├── layout
           ├── activity_main.xml
           └── fragment_main.xml
        ├── ...
        ...

Modifier son package:

package com.myproject.ui;

//imports

public class MainActivity extends ActionBarActivity {
    ...
}

Modifier ses android:name attribut dans AndroidManifest.xml:

<activity 
    android:name=".ui.MainActivity" 
    android:label="@string/app_name" >
    ...
</activity>

Et d'essayer de le compiler à nouveau:

./gradlew clean build

Avec les erreurs suivantes:

/home/birei/MyDummyProject/MyProject/src/main/java/com/myproject/ui/MainActivity.java:19: error: package R does not exist
        setContentView(R.layout.activity_main);
                        ^
/home/birei/MyDummyProject/MyProject/src/main/java/com/myproject/ui/MainActivity.java:23: error: package R does not exist
                    .add(R.id.container, new PlaceholderFragment())
                          ^
/home/birei/MyDummyProject/MyProject/src/main/java/com/myproject/ui/MainActivity.java:33: error: package R does not exist
        getMenuInflater().inflate(R.menu.main, menu);
                                   ^
/home/birei/MyDummyProject/MyProject/src/main/java/com/myproject/ui/MainActivity.java:43: error: package R does not exist
        if (id == R.id.action_settings) {
                   ^
/home/birei/MyDummyProject/MyProject/src/main/java/com/myproject/ui/MainActivity.java:60: error: package R does not exist
            View rootView = inflater.inflate(R.layout.fragment_main, container, false);

BUILD FAILED

Ce que je fais mal? Des idées?

Merci.

  • Appuyez sur Alt+Entrée sur le nom de la Classe si vous utilisez Android Studio. Il a juste des importations de la R pertinente de la classe elle-même.
InformationsquelleAutor Birei | 2014-03-08