我从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.
任何人都有任何想法为什么会这样?
答案 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 documentation,sample-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")
};
}
模块中的属性。