【问题标题】:GooglePlayServices not working after ActionBarSherlock imported导入 ActionBarSherlock 后 GooglePlayServices 无法正常工作
【发布时间】:2013-07-08 16:49:43
【问题描述】:

回答:删除类内部库中的支持库。

我一直在努力让 ActionBarSherlock 库在我的 Android 应用程序中工作,我有一个 Google 地图片段。

我的应用程序功能齐全,可以显示地图,一旦我(第一次)成功导入 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,但这并没有帮助。我想第一步是检查 google play services lib 是否在我的项目中,但我不知道该怎么做。

这两者(地图和actionbarsherlock)是否存在某种问题。

更新:这在错误从 actionbarsherlock 消失后立即开始发生。 也如下所述:在 Android 依赖项下,两个 jar 文件都在那里,(google-play-services_lib.jar 和 actionbarsherlock.jar)。另外,是的,那里引用了谷歌播放服务

我只是尝试回到简单的 FragmentActivity 并从 import 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

【问题讨论】:

    标签: android eclipse actionbarsherlock


    【解决方案1】:

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

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

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

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

    【讨论】:

    • android 支持 v4,是的。这是什么参考?
    • 您是否注意到即使我想帮助您,我也使用了“请”这个词?请您澄清您的评论 - 我不明白
    • 对不起!我很快写下了那条评论。我在问你在说什么参考(在你编辑之前很混乱)。我如何确定我有什么版本的支持库?
    • 嘿,你能看看更新 3 吗?我相信这就是您所说的,但即使有您的建议,我也不知道如何解决它
    • 另外,正如我在问题中简要提到的,我一直在尝试这个,所以我有 actionbarsherlock 1、actionbarsherlock 2 和 actionbarsherlock,所以我不确定我使用的是哪个,我尤其不确定它是 actionbarsherlock 2。任何指导都将不胜感激,因为我迷路了
    【解决方案2】:

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

    【讨论】:

    • 在 Android 依赖项下,两个 jar 文件都在那里,(google-play-services_lib.jar 和 actionbarsherlock.jar)。另外,是的,那里引用了谷歌播放服务
    • 使用最新的 ADT,google-play-services 存在一些问题。在 eclipse 中,将光标移到错误上并说修复项目设置。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-14
    • 2013-06-10
    • 1970-01-01
    • 1970-01-01
    • 2015-12-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多