我有一个使用Google Maps Android v2 API的应用程序.我已将google-play-services_lib库项目添加到我的工作区,并根据这些页面上的说明从我的应用程序项目添加了对它的引用:
一切似乎都运行正常:应用程序使用默认标记显示地图和叠加层.所以我很确定我已经正确设置了Google Play服务和Google Maps API.
但是,每当初始化地图视图时(在第二代Nexus 7上),我都会在ADT LogCat窗口中看到此消息:
The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
Run Code Online (Sandbox Code Playgroud)
消息级别为Error,标记为GooglePlayServicesUtil.
这似乎是良性的,因为我的应用程序确实工作正常.但我该怎么做或检查以试图解决可能出现的问题?
更多信息:每次在LogCat中显示"未找到Google Play服务资源"消息时,都会显示以下消息,即警告并标记ResourceType:
getEntry failing because entryIndex 906 is beyond type entryCount 3
Failure getting entry for 0x7f0b038a (t=10 e=906) in package 0 (error -2147483647)
Run Code Online (Sandbox Code Playgroud)
FWIW,我在搜索项目时找不到常量0x7f0b038a,包括gen/R.java文件.
我检查了生成的.apk的内容,它包含了google-play-services_lib/res目录中的所有资源.
另一个更新:添加ActionBarSherlock并将清单中的targetSdkVersion从8更新为17后,我现在看到LogCat输出中的另一个错误:
Could not find class 'maps.af.k', referenced from method 'maps.ag.an.a' …Run Code Online (Sandbox Code Playgroud) 我正在使用谷歌地图创建一个Android应用程序.这是代码:
MapFragActivity.java
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.SupportMapFragment;
public class MapFragActivity extends FragmentActivity {
private GoogleMap map;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_map_frag);
map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map))
.getMap();
}
}
Run Code Online (Sandbox Code Playgroud)
AndroidManifest.xml中:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.him.mapfrag_rnd"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="15" />
<permission
android:name="com.him.mapfrag_rnd.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-permission android:name="com.him.mapfrag_rnd.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MapFragActivity"
android:label="@string/title_activity_map_frag" > …Run Code Online (Sandbox Code Playgroud) 我有一个现有的项目是为Android Studio而没有gradle构建的,我正在尝试导入Google Play服务来修复
java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable异常.
唯一的问题是它似乎不可能......我已经考虑将它移植到gradle但代码库相当大(40多个活动)对于像我这样以前从未使用gradle的人来说,这将是一场噩梦.完成.
我正在尝试从SDK导入Google Play服务项目,但它会永远挂起"创建gradle文件".
以前有人有任何将此库加载到非gradle项目的经验吗?
顺便说一下,我已经尝试将项目加载到Eclipse中以查看我是否可以采取这种方式,但是构建路径会自我毁坏,我花了好几个小时尝试对它们进行排序无效.