导入ActionBarSherlock后,GooglePlayServices无法正常工作

时间:2013-07-08 16:49:44

标签: android eclipse actionbarsherlock

ANSWERED:删除类内libs内的支持库。

我一直在努力让ActionBarSherlock库在我的Android应用程序中运行,我有一个谷歌地图片段。

我的应用程序功能齐全,显示地图,一旦我(第一次)成功导入actionbarsherlock库(在包浏览器中打开的项目列表中),所有与谷歌地图相关的代码行都会导致错误:无法解析com.google.android.gms的导入问题。

import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;

public class MainActivity extends SherlockFragmentActivity  {

    private GoogleMap googleMap = null;
    SupportMapFragment mMapFragment;

我曾尝试重新导入google play services_lib(在包浏览器的左侧也是如此)并且没有任何更改。我尝试重新启动eclipse,但这没有帮助。我想第一步是检查谷歌播放服务lib是否在我的项目中,但我不知道该怎么做。

是否存在这两种问题(map和actionbarsherlock?)。

更新:错误消失在actionbarsherlock之后,立即开始发生这种情况。 同样如下所示:在Android依赖项下,两个jar文件都存在(google-play-services_lib.jar和actionbarsherlock.jar)。此外,是的谷歌播放服务是在那里引用

我只是尝试回到简单的FragmentActivity并从导入com.actionbarsherlock.app.SherlockFragmentActivity切换导入;导入android.support.v4.app.FragmentActivity;它继续说它无法解决

UPDATE2:我的代码是

public class MainActivity extends FragmentActivity  {

(正确导入)它表示FragmentActivity无法解析为某种类型,但是当它是

public class MainActivity extends SherlockFragmentActivity  {

它表示MainActivity的层次结构不一致

更新3:

Found 2 versions of android-support-v4.jar in the dependency list,
[2013-07-08 13:40:04 - Maps] but not all the versions are identical (check is based on SHA-1 only at this time).
[2013-07-08 13:40:04 - Maps] All versions of the libraries must be the same at this time.
[2013-07-08 13:40:04 - Maps] Versions found are:
[2013-07-08 13:40:04 - Maps] Path: D:\Workspace\google-play-services_lib\libs\android-support-v4.jar
[2013-07-08 13:40:04 - Maps]    Length: 484258
[2013-07-08 13:40:04 - Maps]    SHA-1: bd6479f5dd592790607e0504e66e0f31c2b4d308
[2013-07-08 13:40:04 - Maps] Path: D:\Workspace\actionbarsherlock2\JakeWharton-ActionBarSherlock-071a61c\actionbarsherlock\libs\android-support-v4.jar
[2013-07-08 13:40:04 - Maps]    Length: 271754
[2013-07-08 13:40:04 - Maps]    SHA-1: 53307dc2bd2b69fd5533458ee11885f55807de4b
[2013-07-08 13:40:04 - Maps] Jar mismatch! Fix your dependencies

2 个答案:

答案 0 :(得分:2)

请检查项目中是否引用了ABS,以及项目中是否具有v4支持库的ABS版本(位于ABS libs文件夹中)(V4支持库的更新版本也可以接受) )。

请注意,在将支持库的ABS版本添加到项目中后,您可能会在logcat上看到如下错误:

jar不匹配...... SHA1检查...

这意味着您正在尝试使用不同版本的V4支持库。在项目中获得ABS版本后,您可以从引用的项目中删除任何其他版本的支持库。

答案 1 :(得分:0)

将google-play-services.jar添加到Package Explorer中的Referenced Libraries并检查Project Properties - > Java Build path和see Libraries选项卡包含google-play-services.jar ..