一个完整的Android项目打包成第三方库
2017-02-16 14:28
344 查看
转,原作者博客地址:http://www.jianshu.com/p/71058db2e429
场景:将一个完整的Android项目,包含java代码,以及res资源文件,以及自身所依赖的jar包、jni等打包成一个第三方库供别人使用。 前提需求是:不能作为library的形式;不能让别人看到并修改代码;代码需要混淆。
当我们使用Android Studio开发的时候,这个问题变得很简单。实际操作的时候,只要根据实际情况考虑几个细节即可。
将你的项目转化成Android Library形式。
Android Library.png
按照常规方式,对这个Library进行代码混淆。
混淆.png
删除Android Manifest中的所有权限声明,删除Application子节点,只保留四大组件的子节点。
Android Manifest简化.png
Library用到的第三方依赖库,不能使用在build.gradle中直接compile方式,而要转而使用jar包的形式。
jar包依赖.png
一般来说,当你compile过一个第三方库的时候,Android Stuido会把这个库下载到本地,里面就含有他的jar包,你可以直接在本地找到它,而不需要重新去网上下载。比如我依赖了Gson这个库,我就可以在类似这个目录找到它:
jar地址.png
编译完成之后,你可以在这个地方找到混淆过的aar文件。这个aar包含了当前Library的所有java代码及res资源文件。这个aar就是我们需要提交给使用方的文件。
aar包.png
如何使用aar。新建一个测试项目,将aar放到lib目录下。
lib目录.png
在测试项目的build.gradle中添加设定。
设定.png
在测试项目的Android Manifest文件中添加所有Library用到的权限。
大功告成。根据实际项目需求需要注意的是,假如原项目使用到类似推送、地图等第三方库需要根据包名生成appKey的情况,则项目的包名已经变为使用者的包名而不是原Library项目的包名。此处需要用户自行设置。
场景:将一个完整的Android项目,包含java代码,以及res资源文件,以及自身所依赖的jar包、jni等打包成一个第三方库供别人使用。 前提需求是:不能作为library的形式;不能让别人看到并修改代码;代码需要混淆。
当我们使用Android Studio开发的时候,这个问题变得很简单。实际操作的时候,只要根据实际情况考虑几个细节即可。
将你的项目转化成Android Library形式。
Android Library.png
按照常规方式,对这个Library进行代码混淆。
混淆.png
删除Android Manifest中的所有权限声明,删除Application子节点,只保留四大组件的子节点。
Android Manifest简化.png
Library用到的第三方依赖库,不能使用在build.gradle中直接compile方式,而要转而使用jar包的形式。
jar包依赖.png
一般来说,当你compile过一个第三方库的时候,Android Stuido会把这个库下载到本地,里面就含有他的jar包,你可以直接在本地找到它,而不需要重新去网上下载。比如我依赖了Gson这个库,我就可以在类似这个目录找到它:
jar地址.png
编译完成之后,你可以在这个地方找到混淆过的aar文件。这个aar包含了当前Library的所有java代码及res资源文件。这个aar就是我们需要提交给使用方的文件。
aar包.png
如何使用aar。新建一个测试项目,将aar放到lib目录下。
lib目录.png
在测试项目的build.gradle中添加设定。
设定.png
在测试项目的Android Manifest文件中添加所有Library用到的权限。
大功告成。根据实际项目需求需要注意的是,假如原项目使用到类似推送、地图等第三方库需要根据包名生成appKey的情况,则项目的包名已经变为使用者的包名而不是原Library项目的包名。此处需要用户自行设置。
相关文章推荐
- 一个完整的Android项目打包成第三方库
- Android一个完整的项目转成SDK提供给第三方嵌入
- Android一个完整的项目转成SDK提供给第三方嵌入
- 一个完整的android项目实例
- 【Android】 分享一个完整的项目,适合新手!
- 从零开发一个完整的Android项目(六)——欢迎(登陆)界面
- 公司一个完整的android项目流程大致如下
- maven 学习笔记(七)-(完整Android项目多渠道打包、签名、混淆进阶)
- 一个完整的android商业项目流程大致如下
- 从零开发一个完整的Android项目(一)——前言
- 从零开发一个完整的Android项目(五)——解析JSON字符串
- android ant 自动批量打包——带有第三方项目library的情况
- 从零开发一个完整的Android项目(八)——水平气泡显示
- Android一个项目,打包成不同的包,并在同一设备运行
- 实现一个《 从下位机到蓝牙模块通讯到Android客户端 》的完整物联网项目。
- 从零开发一个完整的Android项目(四)——合成JSON字符串
- Grunt完整打包一个项目实例
- Android开发,在一个项目中调用(启用)已经安装的第三方apk应用软件
- Android完整项目打包
- NetBeans将包含第三方库(jar包)的项目一起打包为一个jar