0

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

我一直在努力让 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,但这并没有帮助。我想第一步是检查谷歌播放服务库是否在我的项目中,但我不知道该怎么做。

有这两种(地图和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
4

2 回答 2

2

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

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

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

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

于 2013-07-08T17:23:11.773 回答
0

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

于 2013-07-08T16:59:02.127 回答