我在Android开发方面绝对是新手,我在尝试构建从Internet下载的示例项目时遇到以下问题。
当我尝试构建它时,我收到以下错误消息:
Error:Cause: failed to find target with hash string 'android-18' in: C:\Users\Andrea\AppData\Local\Android\sdk
<a href="install.android.platform">Install missing platform(s) and sync project</a>
所以我在线搜索,我找到了这个SO链接:Android studio - Failed to find target android-18
好的,我进入工具&gt; Android&gt; SDK Manager 并且事实上我安装了 Android 6 ,对应 API级别23 但 Android 4.3 对应 API 18级。
那意味着什么?这意味着我已经在Android框架上安装了不同的版本?(作为一个框架或者什么是SDK相当吗?)
那么,在Android Studio上我可以安装不同版本的SDK吗?
我认为API级别必须以某种方式定义到已下载的应用程序中。如何指定此应用程序不使用 API级别18 ,而是使用已安装的 API级别23 ?我认为这不是问题,因为我已经安装了最新版本,必须支持最老版本的所有内容,是吗?
答案 0 :(得分:1)
您可以将compileSdkVersion
中的build.gradle
版本更改为23或本地计算机中的任何版本
您可以从SDK Manager获取API Level 18
。
答案 1 :(得分:1)
我会为您解释一下这个问题,然后为您提供解决方案。
您遇到此问题,因为您的项目目标API级别18 来编译项目。所以你必须安装API 18 SDK来编译项目。
这就是IDE抱怨的原因,
Install missing platform(s) and sync project
SDK不是框架。 Android框架完全相同,但是不同的API级别新推出的更新到SDK,最新的是API 23,Marshmallow。
您不应下载较旧的SDK来编译项目。
始终尝试使用可用的最新SDK 。因此,只需转到build.gradle
文件或AndroidManifest.xml
文件,然后将compileSdkVersion
更改为23。
答案 2 :(得分:0)
我进入工具&gt; Android&gt; SDK Manager和infact我已经安装了Android 6对应于API级别23而不是Android 4.3对应于API级别18。
那意味着什么?这意味着我已经安装了不同版本的Android框架?
是的,您有更新版本的SDK。
我可以在Android Studio上安装不同版本的SDK吗?
是的,这就是SDK Manager为
设计的内容我认为API级别必须以某种方式定义到已下载的应用程序中。如何指定此应用程序不使用API级别18,而是使用已安装的API级别23?
已定义。检查模块中void matrix_deallocation(MATRIX* matrix)
//this function deallocates a matrix
{
for ( int i = 0; i < matrix->n_rows; i++ )
// ^^^^^^
{
free( matrix->pp_matrix[i] );
}
free(matrix->pp_matrix);
}
或AndroidManifest.xml
文件的应用程序(不在项目根目录中)。您应该看到build.gradle
,minSdk
和/或targetSdk
的某种组合,后面有一个数字。由于您收到有关缺少SDK 18的错误,因此该数字将为compileSdk
。
我认为这不是问题,因为我已经安装了最新版本,必须支持最老版本的所有内容,是吗?
支持库与核心SDK分开。您无法在版本低于23的设备上运行SDK 23特定代码,因此,为安全起见,建议您先从下载SDK 18开始运行,然后再尝试更新18
号码。