扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
Android开发第三方类库分类:
洞头ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!
gifview 、 gifview2
这两个项目是同一人开发的,用于显示gif动画,纯java解码 ,gif图片过大会产生OOM。
android-gif-drawable
一个也是用于解码显示gif的类库,采用jni解码,大GIF也不会产生oom,完美运行。
PhotoView
PhotoView 是一款扩展自Android ImageView ,支持通过单点/多点触摸来进行图片缩放的智能控件。使用比较简单,提供了一个名为PhotoView的控件,可以直接像普通ImageView那样使用。
特性:支持单点/多点触摸,即时缩放图片;支持平滑滚动;在滑动父控件下能够运行良好;(例如:ViewPager)
不同的环境使用不同的类库,不同的系统也是同样的道理。
在Android类库中,各种包写成android.*的方式,重要包的描述如下所示:
android.app :提供高层的程序模型、提供基本的运行环境
android.content 包含各种的对设备上的数据进行访问和发布的类
android.database :通过内容提供者浏览和操作数据库
android.graphics :底层的图形库,包含画布,颜色过滤,点,矩形,可以将他们直接绘制到屏幕上.
android.location :定位和相关服务的类
android.media :提供一些类管理多种音频、视频的媒体接口
android.net :提供帮助网络访问的类,超过通常的java.net.* 接口
android.os :提供了系统服务、消息传输、IPC机制
android.opengl :提供OpenGL的工具,3D加速
android.provider :提供类访问Android的内容提供者
android.telephony :提供与拨打电话相关的API交互
android.view :提供基础的用户界面接口框架
android.util :涉及工具性的方法,例如时间日期的操作
android.webkit:默认浏览器操作接口
android.widget:包含各种UI元素(大部分是可见的)在应用程序的屏幕中使用
sdk系统自带,官方维护.
第三方相反.所以使用第三方库会导入到应用包,部分库相可能不完善,可能存在严重漏洞.,可能不提供后续升级,可能存在恶意代码.
假如你的项目中有这样一个image类库, 打开image类库下的build.gradle文件,查看里面有哪些 引用包 ,如果lib里面也有包, lib中的也需要查看
假如现在,让 最后一个" compile'com.blankj:utilcode:1.9.8 '" 不被混淆
打开图中的 External Libraries 文件, 我们导入的所有的第三方jar包都在里面
找到" compile'com.blankj:utilcode:1.9.8 '"
查看包名,在混淆文件中添加
所有的jar包都依次写上 -keep class "jar包名" ,就ok了
--注意事项--
1.保证实体类不被混淆
2.保证第三方的jar包不被混淆,类似于,友盟,地图,等等,配置的时候,就把混淆文件也copy过来,免得再回去找
3.添加基础混淆配置,网上有很多的实例
################ 以下直接copy到 proguard-rules.pro文件中,实体类,第三方部分,需修改####################
1.在project/jni目录下创建prebuilt子目录(目录名可自定义).
2.将第三方.so放到prebuilt中,并创建Android.mk, 内容如下:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := xxx
LOCAL_SRC_FILES := libxxx.so
include $(PREBUILT_SHARED_LIBRARY)
3.在project/jni/Android.mk中加入
LOCAL_SHARED_LIBRARIES := xxx
4.在project/jni/android.mk的最后加入
include $(LOCAL_PATH)/prebuilt/Android.mk
5.运行cygwin, 到project目录下, 运行$NDK/ndk-build
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流