我有Xamarin Studio,我需要指定Android SDK位置。我以前曾在我的电脑上使用Xamarin Studio,出于某种原因,我需要再次输入。
我已进入以下位置:
C:\Users\**username**\AppData\Local\Android\android-sdk
Xamarin Studio不接受此位置并显示以下消息:
No SDK found at the specified location
此位置包含平台工具和其他SDK文件夹。
为什么这不起作用,我该怎么办?
你有一个文件夹内容的屏幕吗?这是我的设置:
我希望这些截图可以帮助你。
如果您已经下载了sdk manager zip(来自https://developer.android.com/studio/#downloads),那么您将Android SDK Location作为解压缩文件夹的根目录。
太傻了,但作为初学者,我需要时间。
按WIN+R并从运行对话框run dialog执行以下操作:**%appdata%.. \ Local \ Android **
现在,您应该看到显示SDK父目录的文件夹资源管理器。
我在这里找到了C:\ Users \ username \ AppData \ Local \ Android \ sdk。
2019年4月28日正式程序如下:
Android SDK路径通常是C:\Users\<username>\AppData\Local\Android\sdk
。
Mac上Android sdk的默认位置是:
/Users/*username*/Library/Android/sdk
如果您只使用Visual Studio安装程序安装Xamarin,则android SDK位置为:
C:\Program Files (x86)\Android\android-sdk
您可以在Android SDK Manager中找到它,如Raj Asapu所述
这个问题似乎不需要程序化的解决方案,但我的谷歌搜索无论如何都把我带到了这里。这是我的C#尝试根据最常见的安装路径检测SDK的安装位置。
static string FindAndroidSDKPath()
{
string uniqueFile = Path.Combine("platform-tools", "adb.exe"); // look for adb in Android folders
string[] searchDirs =
{
// User/AppData/Local
Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),
// Program Files
Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles),
// Program Files (x86) (it's okay if we're on 32-bit, we check if this folder exists first)
Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + " (x86)",
// User/AppData/Roaming
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
};
foreach (string searchDir in searchDirs)
{
string androidDir = Path.Combine(searchDir, "Android");
if (Directory.Exists(androidDir))
{
string[] subDirs = Directory.GetDirectories(androidDir, "*sdk*", SearchOption.TopDirectoryOnly);
foreach (string subDir in subDirs)
{
string path = Path.Combine(subDir, uniqueFile);
if (File.Exists(path))
{
// found unique file at DIR/Android
return subDir;
}
}
}
}
// no luck finding SDK! :(
return null;
}
我需要这个,因为我正在编写一个C#程序的扩展,以便与Android Studio / Gradle一起使用。希望其他人会发现这种方法很有用。
如果您可以从命令行运行“sdkmanager”,那么运行sdkmanager --verbose --list
将显示它检查的路径。
例如,我在c:\spool\Android
中安装了SDK,对我来说运行sdkmanager --verbose --list
看起来像:
>sdkmanager --list --verbose
Info: Parsing c:\spool\Android\build-tools\27.0.3\package.xml
Info: Parsing c:\spool\Android\emulator\package.xml
Info: Parsing c:\spool\Android\extras\android\m2repository\package.xml
Info: Parsing c:\spool\Android\extras\intel\Hardware_Accelerated_Execution_Manager\package.xml
Info: Parsing c:\spool\Android\patcher\v4\package.xml
Info: Parsing c:\spool\Android\platform-tools\package.xml
Info: Parsing c:\spool\Android\platforms\android-27\package.xml
Info: Parsing c:\spool\Android\tools\package.xml
Installed packages:=====================] 100% Computing updates...
--------------------------------------
build-tools;27.0.3
Description: Android SDK Build-Tools 27.0.3
Version: 27.0.3
Installed Location: c:\spool\Android\build-tools\27.0.3
附:在另一台PC上,我让Android Studio为我安装Android SDK,SDK最终在C:\Users\MyUsername\AppData\Local\Android\Sdk
中。
您是否尝试通过Windows资源管理器找到此文件夹?可以看到吗?也许该文件夹是隐藏的(默认安装 - 它被Windows操作系统隐藏在users文件夹中)。只需检查您是否可以在Windows资源管理器中查看隐藏文件夹(通过Windows控制面板中的设置>外观和个性化>文件夹选项>显示隐藏文件和文件夹。
这种情况发生在我身上,因为Windows操作系统找不到Android Studio SDK路径所需的SDK文件夹,并通过显示隐藏文件和文件夹解决了这个问题,这使我能够完成默认的SDK安装路径位置。