Android那些坑儿

在Android4.x源码/eclipse编译使用RecycleView

坑点:

1.如果你的源码编译环境java是1.6版本,直接用sdk/extras/android/support/v7/recyclerview/libs/android-support-v7-recyclerview.jar,编译时会报bad class file magic (cafebabe) or version (0033.0000)错误,并且在运行的时候找不到RecyclerView。原因是其他版本jar包是java1.7或者更高版本编译出来的,源码不支持。

2.如果不用和recyclerview对应的android-support-v4包,编译可以通过,但是运行时会出错导致crash。

3.如果在Android.mk里忘了添加include $(call all-makefiles-under,$(LOCAL_PATH))这句话,编译可以通过,但是运行时会找不到RecyclerView.class导致crash。jar包都没打进apk你还想玩?

4.RecyclerView不设置LayoutManager也会导致crash,想看下运行效果好难.


正确使用方法:

1.从sdk目录下抠出的recyclerview和android-support-v4 jar包。如果源码环境是java1.6版本,jar包一定要用21.0.0版本

1.1解压缩sdk目录下recyclerview-v7-21.0.0.aar,修改目录下class.jar文件名android-support-v7-recyclerview_for_eclipse_or_source.jar。名字可以随便取,为了区别android-support-v7-recyclerview.jar我加了后缀。

路径:sdk/extras/android/m2repository/com/android/support/recyclerview-v7/21.0.0/recyclerview-v7-21.0.0.aar。

1.2.解压缩sdk目录下support-v4-21.0.0.aar,修改目录下class.jar文件名android-support-v4_for_eclipse_or_source.jar。要用recyclerview同一版本的android-support-v4,不然编译会出错。

路径:sdk/extras/android/m2repository/com/android/support/support-v4/21.0.0/support-v4-21.0.0.aar。


2.把jar包复制到工程libs目录下,如果用源码编译还要修改Android.mk文件。

## Build Apk #################################

...
LOCAL_STATIC_JAVA_LIBRARIES :=  librecyclerview libandroidv4
...
include $(BUILD_PACKAGE)

## 添加第三方jar #################################
include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := librecyclerview:libs/android-support-v7-recyclerview_for_eclipse_or_source.jar \
libandroidv4:libs/android-support-v4_for_eclipse_or_source.jar  \
include $(BUILD_MULTI_PREBUILT)
include $(call all-makefiles-under,$(LOCAL_PATH)) 


3.在加载界面的时候要设置LayoutManager,不然会报空指针异常。

        mRecyclerView.setLayoutManager(new LinearLayoutManager(this));




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值