Android制作service以及sdk并打包成jar包

本文介绍如何在Android Studio中制作一个Service并打包成jar包,以供其他应用作为SDK使用。通过创建服务、使用AIDL进行进程间通信,详细阐述了服务的开发过程,并提供了使用Eclipse打包jar的步骤。最后,讨论了测试jar包的有效性和如何为用户提供SDK开发文档。
摘要由CSDN通过智能技术生成

项目中需要把连接服务器的部分做成一个service并生成一个jar模块。其他产品就可通过这个包来快速的开发连接服务器的应用软件。做成一个service的优点是:

1. 在后台运行,可以一直保持与服务器的连接

2. 服务可以只对外提供接口,具体功能在服务内部实现

3. 增加项目代码的耦合性

 

当然你不想拿着一个service的源代码分享给别人。你需要把这个服务打包成一个jar包。并且打包的时候可以选择代码混淆,加强代码的易破解性。

我打包这样一个服务也不是突发奇想。是在使用佳博打印机开发项目的时候,使用了人家的连接sdk有的感触。我们开发的时候只需把jar库导入到项的libs文件夹。然后就可以通过sdk接口文档描述的函数来初始化打印服务并使用打印功能。

       那么接下来就说一下怎样开发服务并且打包成一个jar文件并对外提供接口。即完成一个sdk的制作。

这里先说一下打包主要是在打包方面费了很多时间。首先我们知道eclipse可以很方便的打包为jar。但是由于使用了一段时间Android studio 所以就想在Android studio 导出jar包。我也是第一次这样做。遇到了好大的阻力,Android studio那一大堆文件夹真要把人给逼疯了。

本来看着一篇文章对Android studio 生成jar做了验证。文章地址为:

http://blog.csdn.net/ta893115871/article/details/46955791

但是在实际操作中,新建了一个存放service的module(文章里提到的生成库的叫法)作为主工程的子项目,但是这样的话主项目无法调用这个module里面的服务。让测试很沮丧。


虽然不能测试,但是好歹生成一个jar包,里面也包含了我需要打包的文件,但是呢,关键是但是,给附加了其它的文件是个什么意思。哎算了吧。上面截图中左下角的是使用jd-gui(java decompiler)查看jar包内容的截图。右面为生成的jar文件,背景为工程。

Android studio有自己的好处,但是在自己制作sdk的时候还是使用eclipse吧。当然把Android service代码和调用代码放在一个工程下在Android studio是可以正常使用的,下面打开几个我使用的第三方sdk的jar包看看:


这是微信的语音识别sdk的jar包的内容


这是我用eclipse生产的jar的内容,因此我觉得腾讯是用的eclipse打包的jar文件

 

Eclipse 打包jar的方式参照文章:http://blog.csdn.net/wantianpei/article/details/7638483

Eclipse打包jar的时候可以选择哪些文件打包到jar里.

 

制作所用的工具以及方式已经说明白了,下面接着介绍关于service的详细开发。

我们一般开发一个sdk当然是定义远程的service,也就是通过bingservice启动的方式来启动的服务。

同时,应用和服务通信的方式有Messenger和aidl,具体区别看别人的文章吧。

我们这里是开发一个sdk,因此选择了使用aidl,当然如果你的sdk并不包含任何服务,就没有这回事儿了。

现在以一个例子描述创建一个服务并调

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值