Android Studio AVD Manager 在根目录中创建 AVD

标签 android android-studio avd

我在 Ubuntu 中使用 Android Studio,它不会创建 AVD。我的 ~/.android/avd 目录中没有创建任何内容。相反,在我的/root 目录中创建了一些东西。我想我不会关心,除非如果 AVD 在我的根文件夹中,它当然无法为这些 AVD 运行模拟器。我认为这是因为要在 Linux 中访问 Android SDK 管理器,Android Studio 必须使用 sudo 运行...但随后它将 AVD 放在根目录而不是 home...

我有几张图片非常清楚地概述了这个问题,但 stackoverflow 甚至不允许我在没有 10 个代表的情况下链接到它们,多么令人讨厌的限制。

编辑:这是我在尝试执行位于 /opt/android-studio/sdk/tools/ 中的 android bash 脚本时在终端中遇到的错误。不管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)

最佳答案

AVD 是在 /root 下创建的,因为您正在使用 sudo 启动 Android Studio。您需要配置权限,这样就不需要了。我找到的最简单的解决方案是以普通用户身份安装 Android Studio 和 Android SDK。我将它们安装到 $HOME/bin 中,这样我就不必为权限问题烦恼了。当一切都安装好后,我的普通用户帐户对我需要的所有文件都有执行权限。

或者,您可以使用 chmod(手动或使用 find)设置 Android Studio 和 Android SDK 文件的权限。

关于Android Studio AVD Manager 在根目录中创建 AVD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25829620/

相关文章:

java - 无法解析符号

android - 无法在托管 Ubuntu 的虚拟机上使用 Android Studio 运行 Hello World 程序

android - 限制未经授权的用户在 Google Play 中下载 apk?

android - 如何将值传递给 AsyncTask Android

android - 如何在android中触发swiperefreshlayout?

java - Android:我可以在绘制 View 之前更改 View 的高度吗?

android - Android Studio 中的 GPU 驱动程序问题

android - SDL 初始化失败,原因是 : No available video device

java - 仅更改一个 ListView 项目的外观

java - 覆盖 Photoview 的单击