Java ';未能找到样式mapViewStyle';错误依然存在
我已经为这个应用程序工作了将近一年了(高级项目),几天前它刚刚决定停止。我的应用程序是使用Eclipse版本3.7.2 64位开发的,目标是Froyo Android 2.2,使用我的Windows 7 64位pc。到目前为止,我已经尝试了:Java ';未能找到样式mapViewStyle';错误依然存在,java,android,eclipse,google-maps,android-xml,Java,Android,Eclipse,Google Maps,Android Xml,我已经为这个应用程序工作了将近一年了(高级项目),几天前它刚刚决定停止。我的应用程序是使用Eclipse版本3.7.2 64位开发的,目标是Froyo Android 2.2,使用我的Windows 7 64位pc。到目前为止,我已经尝试了: 重新排列清单文件中的uses library标记 重写映射xml文件 删除R.java文件并刷新 在布局中放置mapview元素 重新安装eclipse和android sdk 清理项目 创建style.xml文件并引用它 在实际设备上部署 恢复到以前的
- 重新排列清单文件中的uses library标记
- 重写映射xml文件
- 删除R.java文件并刷新
- 在布局中放置mapview元素
- 重新安装eclipse和android sdk
- 清理项目
- 创建style.xml文件并引用它
- 在实际设备上部署
- 恢复到以前的代码
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.PubMe"
android:versionCode="1"
android:versionName="1.0">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-sdk android:minSdkVersion="8"/>
<application android:icon="@drawable/icon" android:label="@string/app_name">
<uses-library android:name="com.google.android.maps" />
<activity android:name=".PubMeActivity"
android:label="@string/app_name"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MappingActivity"
android:label="@string/app_name">
</activity>
</application>
</manifest>
我非常感谢任何事先的帮助 您必须将
/path\u to_android-sdk/extras/google/google\u play\u services/libproject/google-play-services\u lib
库作为外部库包含到您的项目中,并将此jar文件/path\u to_android-sdk/extras/google/google\u play\u services/libproject/google-play-services\u lib/libs/google play services.jar
除此之外,您还应具有以下权限:
****
尝试在清单文件中添加上述内容。我认为com.google.android.maps.MapView现在已经过时,现在我使用com.google.android.gms.maps.MapView。
请查看帮助,如果您想使用MapFragment,请浏览Url。我建议您看看地图演示应用程序。这是Google Play服务库的捆绑包,在您的SDK管理器中只包含Google Play服务示例的复选框。然后,您可以在SDK目录中找到项目文件@
/extras/google play services/samples/maps
。这些是您通常应该拥有的map v2权限
<permission
android:name="com.example.gmapsapp.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-permission android:name="com.example.gmapsapp.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
api密钥现在在带有meta标记的清单文件中使用
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="@string/apikey />
你找到解决办法了吗?我和你一样,尝试了所有这些答案,但都毫无效果。事实上,我很快就找到了解决办法。由于已经有一段时间了,我不记得我到底做了什么,但我当前的地图xml代码已编辑到原始帖子中。希望有帮助。将您的答案作为答案发布,而不是在问题正文中。请查看此答案并查看此链接
<permission
android:name="com.example.gmapsapp.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-permission android:name="com.example.gmapsapp.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="@string/apikey />
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />