Android 平台应用使用RxAndroid

前提: 需要已经在Android Studio中使用过RxAndroid,以便我们可以提取其下载下来的RxAndroid库。


找到库文件

在用户目录的子路径中找到RxAndroid和RxJava(RxAndroid依赖RxJava)的库文件(aar或者jar)。路径一般如下,请根据自己的RxAndroid版本号自行替换路径中某些值。

RxAndroid:

主目录/.gradle/caches/modules-2/files-2.1/io.reactivex/rxandroid/1.0.0/9d4f880d8a3111646977ed77d00a9fd19279225/rxandroid-1.0.0.aar

RxJava:

主目录/.gradle/caches/modules-2/files-2.1/io.reactivex/rxjava/1.0.13/b8668706414b5936d38c8a9e4c2be16e3c999c62/rxjava-1.0.13.jar

注意不要找到rxjava-1.0.13-sources.jar这个源码jar包了。

提取jar文件

提取你jar库文件到你需要的模块下,可以建个libs文件夹存放,比如packages/apps/Launcher3/libs。

rxjava-1.0.13.jar: 纯粹的jar包,自然是不用说,可以直接放在libs下。
rxandroid-1.0.0.aar: aar格式其实是专门为Android制作的压缩包结构,主要针对Android库有时需要声明资源类型因而将其打包成这样的格式。压缩包结构如下:
这里写图片描述

但RxAndroid这个aar库中并不包含资源,只是在AndroidManifest文件中声明了个包名而已。因此我们直接提取其中的classes.jar文件出来作为依赖jar包放在libs下,同时可以将classes.jar重命名成比如我当前RxAndroid版本的rxandroid-1.0.0.jar

在Android.mk文件中声明编译依赖的jar文件

我添加的声明如下:

...
LOCAL_STATIC_JAVA_LIBRARIES += rxjava rxandroid
...
include $(BUILD_PACKAGE)

####################################
include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := rxjava:libs/rxjava-1.0.13.jar \
                                        rxandroid:libs/rxandroid-1.0.0.jar
include $(BUILD_MULTI_PREBUILT)
#######################################

其中主要是使用LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES预编译静态java库,并且使用LOCAL_STATIC_JAVA_LIBRARIES使用编译出的库。

更详细的如何在mk文件添加jar包依赖的方法请自行百度。

接着mmm编译成功, 但是 …

将生成的APK安装到手机上,一运行发现挂了,如下异常:

05-16 16:36:50.666  6540  6540 D AndroidRuntime: Shutting down VM
05-16 16:36:50.668  6540  6540 E AndroidRuntime: FATAL EXCEPTION: main
05-16 16:36:50.668  6540  6540 E AndroidRuntime: Process: com.example.ningxiang.appcategory, PID: 6540
05-16 16
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值