Android 将开源项目作为库添加进现有项目中

用android studio做项目的时候,想要实现某一功能的时候,会在github上看到类似的项目,想要直接拿来用,这样就省得自己造轮子了。
1、有的项目直接提供Gradle依赖的方式,这种最简单了,直接一行代码搞定,例如Volley

compile 'com.android.volley:volley:1.0.0'//这行代码要写在项目里的build.gradle的dependencies里面

https://github.com/mcxiaoke/android-volley

然后就直接可以用了

2、有的项目不提供这种方式,提供项目lib和test文件,要下载下来,手动将lib添加到项目中去,例如:

https://github.com/mik3y/usb-serial-for-android

作者本人也说明了使用lib的方式,但是我第一次用时,也遇到了一些问题。

这里写图片描述

作者说这样一行代码就可以,其他的一些简单的配置没说,我第一次用时先是遇到了这样的问题

Error:(26, 0) Project with path ':usbSerialForAndroid' could not be found in project ':app'.

网上找解决方法,发现要在settings.gradle里添加

include ':usbSerialForAndroid'

这里要说一下,我直接添加了了usbSerialForAndroid,examples就不用了。
然后重建gradle就可以用了。

3、还有项目的lib和test是在一起的,例如

https://github.com/handheldgroup/android-serialport-api

这个项目就是一整个项目在一起的,不能将整个项目添加进来,要将项目里的app文件夹作为lib添加。如果将app文件夹像刚才那样添加进来又会遇到这样的错误

Warning:Dependency SerialPortTest:android-serialport-api:unspecified on project app resolves to an APK archive which is not supported as a compilation dependency. File: D:\androidstudioproject\SerialPortTest\android-serialport-api\build\outputs\apk\android-serialport-api-release-unsigned.apk

这个意思就是现在这个项目不是一个library,而是一个application。将该项目里的build.gradle文件里的apply plugin改成:

apply plugin: 'com.android.library'

然后又遇到了下面的问题

Error:Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed : Attribute application@icon value=(@mipmap/ic_launcher) from AndroidManifest.xml:7:9-43
    is also present at [SerialPortTest:android-serialport-api:unspecified] AndroidManifest.xml:13:9-38 value=(@drawable/icon).
    Suggestion: add 'tools:replace="android:icon"' to <application> element at AndroidManifest.xml:5:5-18:19 to override.

这里看到Manifest,问题应该就在这里,刚才将build.gradle里的application改成library,所以该项目里的Manifest文件里的application的代码应该全部注释掉,最后重建gradle就好了。

注:这个项目里还有JNI的问题,这个我后面的文章会说

上面就是总结的三种将开源项目作为库添加进现有项目中的方法。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值