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
答案 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 ..