我在项目gradle文件中收到此警告:
警告:(16,5)'buildTypes'不能应用于'(groovy.lang.Closure <com.android.build.gradle.internal.dsl.BuildType>)'
我的buildTypes部分是:
buildTypes {
debug {
debuggable true
}
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
}
}
Run Code Online (Sandbox Code Playgroud)
我目前正在使用Android Studio 1.1.0,compileSdkVersion 22,buildToolsVersion 22.0.0和targetSdkVersion 22.我尝试退回到21但仍然收到警告.
导致此警告的原因是什么?
根据这个问题,我已经在Android Studio中设置我的项目以使用Square Wire库.
Build
- > Compile Project
工作正常.
2:03:10 PM Compilation completed successfully in 31 sec
Run Code Online (Sandbox Code Playgroud)
但是,如果我打开一个生成的协议缓冲区文件,则无法识别Square包.
另一个症状是,继承自Square Message
类的方法在编辑器中显示为"无法解析方法"编译错误,即使它们构建并运行正常.
我是否需要做更多的事情,而不仅仅是build.gradle
在项目中为我的模块添加依赖项?
我的应用程序有几种风格适用于多个市场的应用程序计费系统.
我有一个库,它共享我所有项目的基本代码.所以我决定将这些支付系统作为产品口味添加到这个库中.
问题是android库可以有产品口味吗?
如果是这样,我如何在应用程序的各自风格中包含不同的风格?
我搜索了很多,我找不到任何关于这种情况的信息.我在http://tools.android.com/tech-docs/new-build-system/user-guide中找到的唯一近似内容是:
dependencies {
flavor1Compile project(path: ':lib1', configuration: 'flavor1Release')
flavor2Compile project(path: ':lib1', configuration: 'flavor2Release')
}
Run Code Online (Sandbox Code Playgroud)
我将配置更改为不同的东西,但它不起作用!
我正在使用android studio 0.8.2.
我在AndroidStudio中导入twitter4j,在build.gradle中使用以下内容:
dependencies {
compile 'com.android.support:support-v4:18.0.+'
compile files('libs/twitter4j-core-3.0.4.jar')
}
Run Code Online (Sandbox Code Playgroud)
项目编译得很好,我可以毫无问题地创建twitter对象.但是,在Android studio中,引用该库的任何内容都显示"无法解析符号"并显示为红色.要让Android Studio识别库,我需要做些什么?
我已经尝试重建项目,./ gradlew clean,关闭并重新打开我的项目.
我正在试用Android Studio而不是Eclipse.我安装它然后启动一个全新的项目并按照向导.我没有添加自己的代码.
然后,我右键单击以创建一个新组件,一个新的片段:
并选择一个新片段:
我一看到,就看到编译错误:
...所以我开始谷歌搜索,并发现我需要安装和引用支持库4,我做.当我检查build.gradle(不管是什么,来自Eclipse的新手),我看到:
但我改变了
因为他们这样说这里.重新编译之后,错误仍然存在.然后我直接引用.jar文件,如下所示:
并再次重新编译yada yada,但这也没有帮助.
这种行为对我来说似乎很奇怪.我在这里错过了什么?这是SDK Manager视图:
那么,我错过了什么?谢谢=)
我有一个完全在Android Studio中开发的Android项目(目前版本为4.2,gradle版本为1.9-all).我想添加Google Play服务的功能.
项目无法解决GooglePlayServicesUtil
,当我手动输入导入时(如下所示),我明白了Cannot resolve symbol 'common'
.
import com.google.android.gms.common.GooglePlayServicesUtil;
Run Code Online (Sandbox Code Playgroud)
知道我需要做什么GooglePlayServicesUtil
才能解决?
从Google Play服务设置中,我只需要将com.google.android.gms:play-services:4.+
依赖项添加到我的build.gradle
文件中(并使用gradle重新同步项目文件),以使SDK可用于我的项目.我确实得到了一个"爆炸的捆绑" ProjectName/module/build/exploded-bundles
,但这似乎并没有成功.
我已经从SDK Manager安装了Google Play服务,Android支持存储库和Google Repository.我也删除并重新安装了多次:)
编辑:
我可能需要手动将google_play_services添加为项目/全局库吗?我试图没有成功.
我正在尝试验证我是否正在使用Google服务开发平台API(如果可能的话),但我不确定是不是这样.我没有改变似乎做任何事情.
我项目的外部库显示:
这是我的ProjectName/module/build.gradle文件:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.7.+'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
}
android {
compileSdkVersion 19
buildToolsVersion '19.0.1'
defaultConfig {
minSdkVersion 17
targetSdkVersion 19
versionCode 1 …
Run Code Online (Sandbox Code Playgroud) 我最近创建了一个我在Android项目中导入的库Jar文件.我能够调用函数并使用此Jar文件中存在的类,但Android Studio一直告诉我它不能"解析我正在使用的类的符号".请看下面的截图:
代码构建并成功执行.该函数isThisThingWorking()
只返回true
,这就是boolean blah
设置的内容.
我尝试过按下Sync Project with Gradle Files
按钮并使用Invalidate Caches / Restart...
Android Studio File
菜单中的选项,但这些都没有解决问题.我该怎么做才能使Android Studio IDE不显示Cannot resolve symbol 'xxxSDK'
错误?
假设我需要为应用程序项目和它所依赖的库项目应用相同的规则,我是否需要将proguard.cfg的内容从应用程序复制到库项目?
换句话说,应用程序的proguard.cfg是否"接管"它所依赖的所有库项目,还是我必须为每个库项目明确指定规则?
我刚刚第一次安装Android Studio 0.8.2而且我有很多"无法解决符号"的错误.从Eclipse中导出的新项目和项目都会出错.
JDK版本:jdk1.8.0_11
Android工作室错误:
项目的成绩档案
我注意到有几个人在升级到Android Studio 0.4.3之后遇到了问题(我相信0.4.2的问题).到目前为止我的错误和调试步骤如下:
我看到的消息是"Gradle项目同步失败.基本功能(例如编辑,调试)将无法正常工作",如下面的快照所示.
我找到了这个帖子并按照说明操作,但我仍然有错误.我无法在线程中执行以下指令: 我进入Gradle设置并单击"使用本地Gradle分发"并将其指向*:C:/Users/robot_000/.gradle/wrapper/dists/gradle-1.10 -all/6vpvhqu0efs1fqmqr2decq1v12/gradle这个-1.10
我是否需要本地分发gradle?我从哪里下载它以及在哪里下载它?我现在如何告诉Android Studio使用它?(你可以说,我不明白gradle是如何工作的).谢谢你的帮助.
更新1:我在计算机上找到了我的计算机上的gradle文件:C:\ Users\home.gradle\wrapper\dists\gradle-1.10-all\6vpvhqu0efs1fqmqr2decq1v12\gradle-1.10,但我该怎么做:"进入Gradle设置并单击"使用本地Gradle分发"并将其指向*"(根据此线程)