我正在尝试运行此应用,但它给了我错误,我不明白这个错误的含义?
我在build.gradle文件中添加了google play服务库:
apply plugin: 'com.android.application'
android {
compileSdkVersion 'Google Inc.:Google APIs:21'
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "act.com.mapdemo"
minSdkVersion 19
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.google.android.gms:play-services:6.5.87'
}
我的xml文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.MapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</RelativeLayout>
当我跑步时,它给了我错误:
Gradle 'mapdemo' project refresh failed
Error:Could not normalize path for file 'E:\WorkSpace\mapdemo\app\build\intermediates\mockable-Google Inc.:Google APIs:21.jar'.
The filename, directory name, or volume label syntax is incorrect
答案 0 :(得分:28)
将您的Android Gradle插件版本更改为:
dependencies {
classpath 'com.android.tools.build:gradle:1.1.2'
}
这是早期版本的插件中的一个错误,它无法正确地逃避Windows上的非法字符,并在v1.1.2中修复:
答案 1 :(得分:4)
在android studio中,转到File-&gt;项目结构 单击app / project name 单击编译SDK版本下拉列表,选择一个值 如有必要,请选择构建工具版本。
这将用一个整数值替换compileSdkVersion,允许你继续。
它实际上将值赋予
android {
compileSdkVersion 21
buildToolsVersion '21.1.2'
所以你可以尝试一下,看看它是否适合你。它对我有用。
am on windows 7 android studio ver 1.1.0
答案 2 :(得分:2)
看起来您正在使用Windows,文件名包含冒号。但在Windows下,文件名不得包含以下任何字符:/:*?&#34;&lt;&gt; |
E:\WorkSpace\mapdemo\app\build\intermediates\mockable-Google Inc.:Google APIs:21.jar
^ ^
答案 3 :(得分:1)
当gradle尝试运行项目同步时,我遇到了同样的问题。
错误:
错误:无法规范化文件路径... \ app \ build \ intermediates \ mockable-Google Inc.:Google API:19.jar&#39;。
显然,gradle正在尝试创建名为&#34; mockable-Google Inc.:Google API:19.jar&#34;的文件。但它在Windows中不起作用,因为文件名包含非法字符(例如&#34;:&#34;在我的情况下)。我认为正确的问题是,如何告诉gradle,避免在文件名中使用非法字符?
谢谢
P.S。 在Linux下构建相同的Android项目可以正常工作。