2014-09-14 4 views
3

J'utilise Android Studio avec Ubuntu et il ne crée pas d'AVD. Rien n'est créé dans mon répertoire ~/.android/avd. Au lieu de cela, les choses sont créées dans mon répertoire/root. Ce dont je suppose que je ne m'inquiéterais pas, bien sûr, il ne peut pas exécuter l'émulateur pour ces AVD si les AVD sont dans mon dossier racine. Je pense que c'est parce que pour accéder au gestionnaire Android SDK sous Linux, Android Studio doit être exécuté avec sudo ... mais ensuite il met les AVD en root au lieu de la maison ...Android Studio AVD Manager Création de fichiers AVD dans le répertoire racine

J'ai quelques photos en plan ce problème très clairement, mais stackoverflow ne me laissera même pas lier à eux sans 10 rep, quelle nuisance d'une restriction.

EDIT: Voici l'erreur que je reçois dans mon terminal lorsque je tente d'exécuter le script bash android situé dans /opt/android-studio/sdk/tools/. C'est la même erreur si Android Studio est ouvert ou non.

ss108 tools$ bash android 
java.lang.NullPointerException 
at java.io.File.<init>(File.java:277) 
at com.android.sdklib.internal.avd.AvdManager.parseAvdInfo(AvdManager.java:1516) 
at com.android.sdklib.internal.avd.AvdManager.buildAvdList(AvdManager.java:1492) 
at com.android.sdklib.internal.avd.AvdManager.<init>(AvdManager.java:346) 
at com.android.sdklib.internal.avd.AvdManager.getInstance(AvdManager.java:369) 
at com.android.sdklib.internal.repository.updater.UpdaterData.initSdk(UpdaterData.java:252) 
at com.android.sdklib.internal.repository.updater.UpdaterData.<init>(UpdaterData.java:120) 
at com.android.sdkuilib.internal.repository.SwtUpdaterData.<init>(SwtUpdaterData.java:61) 
at com.android.sdkuilib.internal.repository.ui.SdkUpdaterWindowImpl2.<init>(SdkUpdaterWindowImpl2.java:104) 
at com.android.sdkuilib.repository.SdkUpdaterWindow.<init>(SdkUpdaterWindow.java:88) 
at com.android.sdkmanager.Main.showSdkManagerWindow(Main.java:407) 
at com.android.sdkmanager.Main.doAction(Main.java:390) 
at com.android.sdkmanager.Main.run(Main.java:150) 
at com.android.sdkmanager.Main.main(Main.java:116) 
+0

Vous avez maintenant 10 représentants, alors n'hésitez pas à poster ces photos. –

+0

@ Code-Apprentice Merci! lol – ssaeed

Répondre

0

Les AVDS sont créés sous /root parce que vous commencez Android Studio avec sudo. Vous devez configurer les autorisations pour que cela ne soit pas nécessaire. La solution la plus simple que j'ai trouvée est d'installer Android Studio et le SDK Android en tant qu'utilisateur régulier. Je les installe dans $HOME/bin de sorte que je n'ai pas à déranger avec des problèmes de permission du tout. Lorsque tout est installé, mon compte d'utilisateur habituel a l'autorisation d'exécution pour tous les fichiers dont j'ai besoin.

Vous pouvez également utiliser chmod (manuellement ou avec find) pour définir les autorisations sur les fichiers Android Studio et Android SDK.

+0

Merci pour l'aide, désolé je n'ai pas pu vous remercier et l'essayer jusqu'à maintenant. Mon dossier android-studio est décompressé dans un répertoire sous mon accueil. Je lance Android Studio avec le script bash studio.sh, comme disent les instructions d'installation de Linux. Le problème est que je ne peux pas démarrer le gestionnaire AVD ou SDK sans exécuter Android Studio en tant que root. L'exécution de chmod + u sur les fichiers .avd et .ini de l'AVD que j'essaie de lancer n'a pas aidé. Exécution de chmod + x – ssaeed

+0

@ssaeed Vous devez modifier les autorisations des fichiers de votre installation SDK, en particulier les exécutables situés dans les sous-répertoires 'tools' et' platform-tools'. Les gestionnaires AVD et SDK sont démarrés avec le script bash 'tools/android'. Assurez-vous d'avoir l'autorisation d'exécuter ce fichier. –

+0

J'ai couru 'sudo chmod + x' sur tools/android.sh. Il n'y avait aucun fichier de ce type dans platform-tools. Malheureusement, je suis toujours confronté au même problème. Je vais juste utiliser Windows pour le moment je suppose. Je préférerais utiliser Linux, mais je ne peux pas retarder mon apprentissage par ce problème d'ops. Espérons que Google et/ou JetBrains le rejoindront bientôt. Merci d'avoir essayé! – ssaeed

Questions connexes