Το R δεν μπορεί να επιλυθεί - σφάλμα Android

Μόλις κατέβασα και εγκατέστησα το νέο Android SDK. Ήθελα να δημιουργήσω μια απλή εφαρμογή για να το δοκιμάσω.

Ο οδηγός δημιούργησε αυτόν τον κώδικα:

package eu.mauriziopz.gps;

import android.app.Activity;
import android.os.Bundle;

public class ggps extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}

αλλά το Eclipse μου δίνει το σφάλμα

Το R δεν μπορεί να επιλυθεί

στη γραμμή

setContentView(R.layout.main);

Γιατί;

ΥΓ: Έχω ένα αρχείο XML με το όνομα main.xml κάτω από το res/layout/.

Λύση

Αυτό που είπε ο Will ήταν σωστό

Η R είναι μια κλάση που δημιουργείται αυτόματα και περιέχει τις σταθερές που χρησιμοποιούνται για την αναγνώριση των πόρων σας. Αν δεν έχετε ένα αρχείο R.java (θα ήταν το gen/eu.mauriziopz.gps/R.java στο >Eclipse με το 1.5 SDK) θα σας συνιστούσα να κλείσετε και να ανοίξετε ξανά το έργο σας ή να πάτε στο >Project >Build all (και να επιλέξετε το "Build Automatically" ενώ βρίσκεστε εκεί, όπως συνιστάται από τον >Josef). Εάν αυτό δεν λειτουργεί, τότε δοκιμάστε να δημιουργήσετε ένα νέο έργο, εάν το πρόβλημα αναδημιουργηθεί, τότε >δημοσιεύστε ξανά εδώ και θα μπούμε σε περισσότερες λεπτομέρειες.

αλλά ανακάλυψα ότι υπήρχε ένα άλλο πρόβλημα που προκαλούσε το πρώτο. Τα εργαλεία στον κατάλογο SDK δεν είχαν τα δικαιώματα εκτέλεσης, οπότε ήταν σαν να μην υπήρχαν για το Eclipse, οπότε δεν έφτιαχνε το αρχείο R.java.

Έτσι, η τροποποίηση των δικαιωμάτων και η επιλογή "Build Automatically" έλυσε το πρόβλημα.

Σχόλια (3)

Η R είναι μια κλάση που δημιουργείται αυτόματα και περιέχει τις σταθερές που χρησιμοποιούνται για την αναγνώριση των πόρων σας. Αν δεν έχετε ένα αρχείο R.java (θα ήταν το gen/eu.mauriziopz.gps/R.java στο Eclipse με το 1.5 SDK) θα σας συνιστούσα να κλείσετε και να ανοίξετε ξανά το έργο σας ή να πάτε στο Project > Build all (και να επιλέξετε "Build Automatically" ενώ βρίσκεστε εκεί όπως συνιστάται από τον Josef). Εάν αυτό δεν λειτουργεί, τότε δοκιμάστε να δημιουργήσετε ένα νέο έργο, εάν το πρόβλημα αναδημιουργηθεί, τότε στείλτε ξανά μήνυμα εδώ και θα μπούμε σε περισσότερες λεπτομέρειες.

Σχόλια (1)

Η R είναι μια παραγόμενη κλάση. Αν χρησιμοποιείτε τα Android Development Tools (ADT), παράγεται κάθε φορά που χτίζεται το έργο. Μπορεί να έχετε απενεργοποιήσει το 'Build Automatically'.

Σχόλια (0)