Quickblox:找不到SDK位置

时间:2016-02-11 13:41:16

标签: android android-gradle chat quickblox

我从Quickblox导入了示例聊天应用。 sdk.dir在local.properties中就位,但我收到以下错误:

Gradle 'sample-chat' project refresh failed
Error:SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.

任何人都有任何想法为什么会这样?

2 个答案:

答案 0 :(得分:0)

正如您所看到的,此错误与Android SDK位置有关,而与QuickBlox等特定库无关。只需在设置中为您的项目设置Android API级别。 有关更多信息,请参阅https://developer.android.com/tools/studio/index.html

答案 1 :(得分:0)

我想我知道发生了什么,这与@Darya所说的有关。如果您查看sample-chat模块的android { defaultConfig { minSdkVersion rootProject.minSdkVersion targetSdkVersion rootProject.targetSdkVersion } } ,您会看到以下行(等等)

rootProject

此处SDK版本是根据根项目使用的版本定义的。如果您查看Gradle documentationsample-chat定义了可以找到属性的范围,即项目本身。 如果您只将android { defaultConfig { minSdkVersion 15 targetSdkVersion 23 } } 导入Android Studio,那么这些行告诉Gradle在您定义它的同一项目中查找属性,因此它等同于非法自引用/定义。

正如@Darya所提到的,一种解决方案是将这些定义更改为有意义的内容,例如:

quickblox-android-sdk

或者您可以导入rootProject项目。执行此操作后,build.gradle变量将指向此项目,并将从项目的sample-chat中读取属性,而不是var user = pimcore.globalmanager.get("user"); var permissions = user.permissions; // See what permissions are set - check the console in browser developer tools console.log(user.permissions); if (permissions.indexOf("objects") !== -1) { var navigationUl = Ext.get(Ext.query("#pimcore_navigation UL")); var newMenuItem = Ext.DomHelper.createDom('<li id="pimcore_menu_new-item" data-menu-tooltip="Your tooltip" class="pimcore_menu_item icon-fork"></li>'); navigationUl.appendChild(newMenuItem); pimcore.helpers.initMenuTooltips(); newMenuItem.onclick = function(){ alert("test") }; } 模块中的属性。