[原]Git开源项目SlidingMenu移植问题

标签: | 发表时间:2013-06-07 20:23 | 作者:aomandeshangxiao
出处:http://blog.csdn.net/aomandeshangxiao

        在Csdn上,看到介绍的开源项目 http://www.csdn.net/article/2013-05-03/2815127-Android-open-source-projects,中的第三个项目:SlidingMenu,很多App都加了这种菜单形式,所以也想研究一下。

        其项目Git地址: https://github.com/jfeinstein10/slidingmenu

           把项目同步到本地以后,使用Eclipse导入,发现会出错,打开项目的Properties选项:


发现其所依赖的ABS库出错,ABS究竟是什么呢?

        原来项目中还依赖Actionbarsherlock这个库,可以在 http://actionbarsherlock.com/download.html获取,导入到eclipse里,我命名比较懒,直接命名为library2,

导入library2之前:

导入后出现以下情况:


      错误变成了缺少android-support-v4包支持。

      后来发现是因为,library类库中和Actionbarsherlock库中都依赖android-support-v4库,可能是因为版本不一,引发冲突,把Actionbarsherlock源码中libs中android-support-v4删除,然后拷贝library中的android-support-v4到Actionbarsherlock中即可。

      这个时候发现,可能还有以下错误:

The method getSupportActionBar() is undefined for the type BaseActivity
The method getSupportMenuInflater() is undefined for the type BaseActivity
The method onCreateOptionsMenu(Menu) of type BaseActivity must override or implement a supertype method
The method onOptionsItemSelected(MenuItem) in the type Activity is not applicable for the arguments
The method onOptionsItemSelected(MenuItem) of type BaseActivity must override or implement a supertype method
The method onOptionsItemSelected(MenuItem) of type ResponsiveUIActivity must override or implement a supertype method

    修改方法为: 打开SlidingMenu library project里SlidingFragmentActivity这个类并在声明前添加以下代码:

import com.actionbarsherlock.app.SherlockFragmentActivity; 

    

然后,将下面FragmentActivity父类:

public class SlidingFragmentActivity extends FragmentActivity implements SlidingActivityBase {  

替换为:Actionbarsherlock库里的另外一个父类:

public class SlidingFragmentActivity extends SherlockFragmentActivity implements SlidingActivityBase {  

这里SlidingMenu library需要依赖Actionbarsherlock,加上即可,如果还有错误,clean下。


PS:

     有可能遇到以下错误:

ACTION_POINTER_INDEX_MASK cannot be resolved android.
HONEYCOMB cannot be resolved or is not a field
LAYER_TYPE_HARDWARE cannot be resolved or is not a field
LAYER_TYPE_NONE cannot be resolved or is not a field
MATCH_PARENT cannot be resolved or is not a field
The method getLayerType() is undefined for the type View
The method setLayerType(int, null) is undefined for the type View

     修改方法: 将manifest里面的min sdk version 改为你当前用到的sdk版本7以上。




作者:aomandeshangxiao 发表于2013-6-7 20:23:33 原文链接
阅读:121 评论:0 查看评论

相关 [git 开源 项目] 推荐:

[原]Git开源项目SlidingMenu移植问题

- - 傲慢的上校的专栏
        在Csdn上,看到介绍的开源项目 http://www.csdn.net/article/2013-05-03/2815127-Android-open-source-projects,中的第三个项目:SlidingMenu,很多App都加了这种菜单形式,所以也想研究一下.         其项目Git地址: https://github.com/jfeinstein10/slidingmenu.

从git服务器获取只读项目数据

- - Marshal's Blog
从git服务器获取和同步只读的项目数据. 比如说,通过github,获取人家的项目数据,而且还要和它保持同步,需要以下操作. 拿我现在写的一个发布在github上的项目举例,见: https://github.com/MarshalW/WebBook/tree/gh-pages. 可以通过如下命名clone项目(相当于svn的checkout)数据:.

Git基础

- Wolf - 潘魏增
上个月末在公司内部作了一次《Git基础》的主题分享. 这里把分享内容公布出来,希望对一些朋友有用. 如果之前没有接触过Git,wikipedia上面已经有非常好的介绍. pdf格式:http://panweizeng.com/download/git-basics-meituan.pdf. keynote格式:http://panweizeng.com/download/git-basics-meituan.key.

Android优秀开源项目

- - CSDN博客移动开发推荐文章
Android经典的开源项目其实非常多,但是国内的博客总是拿着N年前的一篇复制来复制去,实在是不利于新手学习. 今天爬爬把自己熟悉的一些开源项目整理起来,希望能对 Android开发同学们有所帮助. 另外,如果你有比较好的项目推荐,也烦请在评论里分享出来,我会定期更新博客内容. Apollo音乐播放器:就一个播放器,但是实现的很好.

开源项目之NeoCrypt

- - CSDN博客推荐文章
一个文件加密解密软件的源代码,可以设置很多著名的加密算法进行加密解密. 它集强力、安全的算法和简单、易用的界面于一身. 它的文件管理界面可以轻易地观看和更改整个系 统的加密设置,也可以加/解密选定的文件,安全地删除文件. 项目需要用到第三方库cryptlib,该库已经放到源码包中. 本程序有一个动态链接库NeoCryptSX与一个主程序Neocrypt组成,NeoCryptSX动态库操作简单,只负责发送调用消息,Neocrypt主程序中封装了Decryptor类负责解码、Encryptor类负责编码,File类负责文件操作、CProgUpdater类负责进度等.

开源项目 AllJoyn 初识

- - CSDN博客推荐文章
AllJoyn 高通的一个开源项目,针对IoT的. 光看到介绍第一个感觉就是高大上啊. 它要解决的问题是物联网中互联互通的问题,一个好大平台. 从它介绍的PPT的两张图比较一下就会比较清楚了. 第一张图中它描绘的是现状,各个设备厂商虽然都对外提供了物联网接口,云接口,但各个设备没有互联互通,各自为政,群雄割据.

Git-rebase 小筆記

- lepture - YORKXIN×YORKXIN
最近剛好有個機會整理很亂的 Git commit tree,終於搞懂了 rebase 的用法,筆記一下. 大家都知道 Git 有個特色就是 branch 開很大開不用錢,但很多 branches 各自開發,總要在適當時機 merge 進去 master. 看過很多 git 操作指南都告訴我們,可以妥善利用 rebase 來整理看似很亂或是中途可能不小心手滑 commit 錯的 commits ,甚至可以讓 merge 產生的線看起來比較簡單,不會有跨好幾十個 commits 的線.

Git 简明教程

- satoru - python.cn(jobs, news)
Git 是一款强大的分布式版本控制系统.在他的官网可以找到已经有很多著名的项目正在使用. Like most other modern version control systems, Git gives each developer a local copy of the entire development history, and changes are copied from one such repository to another.

git架构图解

- - CSDN博客研发管理推荐文章
  最近又遇到Git了,发现网络上Git的资料确实不咋滴,难懂不全面. 至于Git是什么我就不多说了,相比svn上手确实更难. 与svn集中版本库相比较,Git被称作分布式版本库,在分布式的版本库中任何一个库都可以作为中心库看待. 如果说svn是颗树,那么Git就像一张网. Svn在每个目录都有一个.svn文件夹存放信息,而git只在根目录才有,这就决定了svn可以单独拉取某个子目录或者某个文件,而git需要全部拉取.

科普:Git Commit Guidelines

- - IT瘾-dev
降低Review成本,可以明确知道本次提交的改变和影响. 规范整个Team的提交习惯,对技术素养的养成有益. 可以通过统一工具,抽取规范的message自动形成change log. 目前Github的Angular项目,就是完全采用规范的Git Message来进行日常的提交管理和发布管理的,下面是这个项目的Commit记录,和自动根据commit生成的change log.