2014-09-14 3 views
3

Я использую Android Studio с Ubuntu, и он не будет создавать AVD. Ничто не создается в моей директории ~/.android/avd. Вместо этого вещи создаются в моем/корневом каталоге. Который, я думаю, мне было бы безразлично, за исключением того, что он не может запустить эмулятор для этих AVD, если AVD находятся в моей корневой папке. Я думаю, что это связано с тем, что для доступа к Android SDK-менеджеру в Linux Android Studio нужно запускать с помощью sudo ... но затем он ставит AVD в корневую систему вместо дома ...Android Studio AVD Manager Создание AVD в корневом каталоге

У меня есть несколько фото, излагающих эта проблема очень четко, но stackoverflow не позволит мне даже ссылаться на них без 10 rep, что является помехой ограничения.

EDIT: Вот ошибка, которую я получаю в своем терминале, когда пытаюсь выполнить скрипт bash для android, расположенный в /opt/android-studio/sdk/tools/. Это та же ошибка, открыта или нет Android Studio.

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

У вас сейчас 10 репутации, поэтому не стесняйтесь публиковать эти фото. –

+0

@ Code-Apprentice Спасибо! lol – ssaeed

ответ

0

В AVDS созданы под /root, потому что вы начинаете Android Studio с sudo. Вам необходимо настроить разрешения, чтобы это не требовалось. Самое простое решение, которое я нашел, - установить Android Studio и Android SDK в качестве обычного пользователя. Я устанавливаю их в $HOME/bin, так что мне вообще не нужно беспокоиться о проблемах с разрешением. Когда все установлено, моя обычная учетная запись пользователя имеет разрешение на выполнение для всех файлов, которые мне нужны.

В качестве альтернативы вы можете использовать chmod (либо вручную, либо с помощью find), чтобы установить разрешения для файлов Android Studio и Android SDK.

+0

Спасибо за помощь, извините, что я не смог поблагодарить вас и попробовать до сих пор. Моя папка-студия Android распакована в каталоге под моим Домом. Я запускаю Android Studio с bash script studio.sh, как говорится в инструкциях по установке Linux. Проблема в том, что я не могу запустить AVD или SDK-менеджер без запуска Android Studio под именем root. Запуск chmod + u в файлах .avd и .ini AVD, которые я пытаюсь запустить, не помог. Также не работает chmod + x – ssaeed

+0

@ssaeed Вам необходимо изменить разрешения файлов в вашей SDK-установке, в частности исполняемые файлы под подкаталогами 'tools' и' platform-tools'. Администраторы AVD и SDK запускаются с помощью скрипта 'tools/android' bash. Убедитесь, что у вас есть разрешение на выполнение этого файла. –

+0

Я запускал 'sudo chmod + x' на инструментах/android.sh. В платформенных инструментах такого файла не было. К сожалению, я все еще испытываю такую ​​же проблему. Я сейчас буду использовать Windows, я думаю. Я бы предпочел использовать Linux, но я не могу забыть об этом обучении. Надеемся, что Google и/или JetBrains вскоре соберут его. Спасибо за помощь! – ssaeed