pour - android set toolbar title from fragment



le paquet R n'existe pas (16)

Je reçois le paquet redouté R n'existe pas, il me tue. Le code est bon, j'ai des applications sur le marché qui exécutent le code.

Maintenant, il effectue des applications webview simples. o.0

R.string.app_name est error'd mon main.xml et string.xml est bien. Je suis tellement confus.

J'ai rouvert une ancienne version pour "borrow" du code et elle a été inondée d' R. errors. J'ai fait un nettoyage et rien n'a changé, sauf pour l'importation R.android étant ajouté au sommet.

J'ai même chargé dans Netbeans et je reçois la même chose. Clean ne fonctionne pas. Puis-je écrire moi-même le fichier R.java ?

Quelle est cette chose R ? n'est pas R censé correspondre à R.java


Answer #1

Juste pour rendre ceci simple:

import your.app.package.R;

Bien sûr, en remplaçant your.app.package avec votre package d'application.

Dans toutes les classes qui utilisent des références de ressources R, supprimez toute autre import avec .R , c'est-à-dire import android.R;


Answer #2

Aucun avantage à écrire R.java soi-même car il est changé à chaque build,

N'oubliez pas d'utiliser R. quelque chose par exemple: R.raw.filename de l'intérieur des classes qui a la valeur du package similaire à la valeur du package dans le AndroidManifest.xml

car les ID de ressource R. sont définis pour l'application ou la bibliothèque en cours et sont tous vérifiés s'ils existent à la compilation, cela n'a donc aucun sens de les autoriser à accéder à partir du "code" qui ne cible pas l'application ou la bibliothèque actuelle. être utilisé dans d'autres endroits.


Answer #3

Dans mon cas, j'ai réalisé que je créais plusieurs paquets dans le projet. Dans le manifeste Android, j'ai trouvé que le nom du fournisseur contenait incorrectement la valeur de MyContentProvider au lieu de .provider.MyContentProvider. Mon paquet principal (avec l'interface utilisateur) était co.companyname.database.provider au lieu de co.companyname.database.

Ensuite, sur les instructions d'importation de la classe affectée, j'ai simplement cliqué avec le bouton droit de la souris et demandé à Android Studio (0.8.6) d'optimiser mes instructions d'importation. J'ai également noté que si vous recherchez .R dans la barre de recherche AS dans le coin supérieur droit de l'EDI, vous pouvez trouver un fichier R.java généré automatiquement qui fait partie de votre paquet. À ce stade, vous n'avez rien à changer. Studio doit corriger le projet après avoir corrigé le fichier manifeste Android et reconstruit.

Un autre élément est que dans une classe je faisais en utilisant le toString (). Length () pour évaluer une chaîne, mais les échanger pour TextUtils.IsEmpty (stringVal); Je ne peux pas penser à autre chose que j'ai fait pour résoudre le problème.

J'espère que cela aide quelqu'un.

NB - Tout cela est avec AS 0.8.6

PS

R.java est généré automatiquement, donc lisez l'en-tête: / * FICHIER AUTO-GÉNÉRÉ. NE MODIFIEZ PAS. * * Cette classe a été générée automatiquement par l'outil * aapt à partir des données de ressources trouvées. Il * ne devrait pas être modifié à la main. * /


Answer #4

Exemple: Mon package est com.example.mypc.f01 , pour corriger l'erreur que vous ajoutez à la ligne ci-dessous Activité:

import com.example.mypc.f01.R;


Answer #5

Jamais, jamais essayer d'écrire la classe R vous-même!

Avez-vous importé la bonne classe R dans vos fichiers?

Faire

import android.R;

au lieu de

import com.example.R;

semble être le problème pour beaucoup de gens. Après le nettoyage et la construction, mes cours importent parfois le mauvais.


Answer #6

Je résous mon problème:

le paquet R n'existe pas

.

Goto AndroidManifest.xml fichier et a changé le minSDKVersion="17" de 19


Answer #7

Je suppose que ça a l'habitude de fonctionner mais maintenant ça ne marche pas ..

Cela peut arriver si vous changez le nom de PACKAGE dans votre fichier MANIFEST

<manifest
   package="com.example.android...."

Si vous voulez changer le nom du paquet

  1. Modifiez le nom du package manuellement dans le fichier manifeste.
  2. Cliquez sur votre classe R.java et appuyez sur F6. Cela vous permettra de déplacer la classe vers un autre paquet, et toutes les références à cette classe seront mises à jour.

Answer #8

Je viens de me débarrasser de l'erreur dans mon projet. J'avais importé un exemple de projet, j'avais modifié les dossiers du paquet mais je n'avais pas mis à jour le paquet dans l'un des fichiers java.

La cause la plus probable de cette erreur 'le paquet R n'existe pas' est que le nom du paquet dans Java ou le fichier manifeste est incorrect. Assurez-vous qu'il est correct et synchronisé, puis faites une construction propre.


Answer #9

Pour ceux qui ont rencontré ce problème, j'ai refaçonné en renommant les dossiers d'espaces de noms. J'ai juste oublié d'éditer aussi AndroidManifest et c'est pourquoi j'ai eu cette erreur.

Assurez-vous de vérifier cela aussi.


Answer #10

Quand j'ai vécu cela, j'ai créé un nouveau projet, et copié les fichiers de mon ancien projet dans mon nouveau.

  1. Démarrer un nouveau projet
  2. Ajoutez les anciens fichiers dans le nouveau projet (copiez et faites un clic droit sur Layout, drawables, com.packagename, ...) pour coller mes anciens fichiers de projets

Cependant, j'avais toujours le même problème: R does not exist . Puis j'ai réalisé que j'avais copié et collé Manifest de mon bloc-notes dans les manifestes Android Studio et je n'avais pas changé le nom du paquet dans le fichier manifeste.

Par conséquent, une fois que j'ai modifié le nom du package dans le manifeste au nouveau nom du projet, le nouveau projet que j'avais créé fonctionnait correctement.


Answer #11

Si cette erreur apparaissait après la résolution des conflits de fusion, un simple projet Build -> Clean pourrait vous aider.


Answer #12

Si vous développez en studio android et refactorisé le nom du paquet, alors vous devriez changer le nom du paquet dans le fichier android manifeste et app gradle.

 applicationId "change here your package name"

et dans le fichier manifeste

 package="change here your package name"

Answer #13

Supprimer l'importation android.R; de tous les fichiers .. une fois nettoyer le projet et construire le projet .... Il va générer


Answer #14

Un autre cas de rupture de R. est le traitement des annotations .

Certains traitements peuvent faire référence à des classes situées dans certains dossiers ou niveaux de dossiers. Si vous déplacez les classes requises vers un autre emplacement, vous pouvez obtenir R. comme une classe inconnue.

Malheureusement, le pointeur d'erreur de ce problème n'est pas évident dans Android Studio.


Answer #15

La classe R est un code Java généré automatiquement à partir de vos fichiers XML (disposition de l'interface utilisateur, chaînes d'internationalisation, etc.) Si le code fonctionnait avant (comme il semble), vous devez indiquer à votre IDE de régénérer ces fichiers :

  • dans IntelliJ, sélectionnez Outils> Android> Générer des sources pour <projet>
  • (Si vous connaissez le chemin dans un autre IDE, n'hésitez pas à modifier cette réponse!)

Answer #16

Quels fichiers importez-vous dans les fichiers obtenant l'erreur R?

Ma compréhension du fichier R est qu'ils sont générés automatiquement des listes de référence à tous les attributs de l'application Android. Par conséquent, vous ne pouvez pas le changer vous-même.

Utilisez-vous Eclipse pour créer ce projet? Les anciens projets ont-ils été confrontés à ces erreurs avant la mise à jour d'Eclipse? Quelles sont les références qui reçoivent des erreurs?

Vérifiez que vous n'avez pas importé un autre fichier R d'un autre code copié dans une autre application.





android