我有
compile 'com.google.android.gms:play-services:6.5.87'
在我的build.gradle模块:app中 和
<uses-library android:name="com.google.android.maps"
android:required="true" />
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
在我的AndroidManifest.xml中的应用程序标记之间。
但我仍然在导入时出错
import com.google.android.maps.GeoPoint;
和
上的类似错误import com.google.android.gms.location.LocationClient;
和其他此类进口。
Cannot resolve symbol 'maps'
我尝试清理构建,使缓存/重新启动无效。
我在某处读到这是Android地图和谷歌地图之间存在冲突的问题,您需要使用:
android {
compileSdkVersion "Google Inc.:Google APIs:21"
但这也给我一个错误
Error:Could not normalize path for file 'C:\Users\...\app\build\intermediates\mockable-Google Inc.:Google APIs:21.jar'.
文件名,目录名或卷标语法不正确
根据一个小搜索,因为它试图创建一个文件夹,其中:符号适用于mac / linux但不适用于Windows。
我可以将其改为
android {
compileSdkVersion 21
但是它并没有使用谷歌api的。我还没有找到另一种方法来修复我的代码。有谁可以帮助我或指出我正确的方向?
编辑:将播放服务更改为5. +(或以下任何内容)会给我一个不同的错误,即它似乎会覆盖主题。
C:...\app\build\intermediates\exploded-aar\com.google.android.gms\play-services\5.0.89\res\values\wallet_colors.xml
Error:(1) Attribute "theme" has already been defined
任何6或以上的意味着它找不到LocationClient。
答案 0 :(得分:2)
您可以在清单中尝试使用此配置:
<!-- Creating Permission to receive Google Maps -->
<permission
android:name="com.yelpmeout.permission.MAPS_RECEIVE"
android:protectionLevel="signature"/>
<uses-permission android:name="com.yelpmeout.permission.MAPS_RECEIVE"/>
<!-- Maps API needs OpenGL ES 2.0. -->
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_GPS" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
........
<!-- Google Maps Fragment API Key Data -->
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="YOUR_KEY" /> // dont forget to add your key
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="YOUR_ACTIVITY" /> // dont forget to add your main activity here
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
这是你的傻瓜:
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
}
dependencies {
compile 'com.google.maps:google-maps-services:0.1.3'
compile 'com.google.android.gms:play-services:6.5.87'
}
它适用于我,它也应该适合你。
希望它有所帮助!
答案 1 :(得分:0)
我想你错过了:
<uses-library
android:name="com.google.android.maps" />
在AndroidManifest.xml中。尝试添加它,看它是否有效。