- 博客(427)
- 资源 (53)
- 收藏
- 关注
原创 Android - 2025年安卓真的闭源了吗
个人认为,谷歌这个变动,不无道理,毕竟同时跟进两条分支,代码差异导致的维护 时间、精力 成本很高,换位思考下,这庞大复杂的代码差异,要维护起来,着实让人头大,为了简化开发,这个决策是可以理解的。另外,Android 源码还是会继续开源(任何人可以下载编译和定制),就是国内的某些自媒体的吃相,断章取义的功夫,真是令人汗颜。
2025-03-28 11:57:49
669
原创 Android - 云游戏本地悬浮输入框实现
在输入法显示的状态下,旋转屏幕,这时需要保证输入法继续显示,同样的,如果是在输入法隐藏状态下,那么旋转屏幕时,得保证输入法继续隐藏。尽管该方案不需要精确获取输入法高度,但是,有必要监听输入法显隐,以达到输入框同步输入法显隐的目的。系统默认的 Dialog 是有样式的,需要对其进行定制,修改为透明的 Dialog,另外还要修改窗口的。但是,从功能性角度来说,,并且与输入法同步显隐,所以,本篇的核心内容,就是如何来实现这么一个。代码中的注释很详细,相信不难理解,不过,有一点得注意的,
2024-07-08 23:14:10
941
原创 Android - 利用 jitpack 免费发布闭源 aar
的代码和资源,其依赖的第三方库不会被合并进去,想要被其他工程正常集成使用,就需要将第三方库的依赖信息传递下去,所以,需要借助 maven 发布插件,生成。的,在提交库信息时,就会要求填写开源仓库的 url,如果我们不想开源源代码,仅仅只是希望把混淆后的。配置项,如需混淆,则需要依赖其他 Gradle 插件,有需要的可以看我之前写的另一篇文章。)根据你的库来修改,不能照抄的!构建会很快,1 分钟左右就出来了,但是这次日志图标是红色的,后面是。任务,即可在指定的本地目录下,生成 maven 相关的文件,其中。
2024-06-30 17:33:33
1157
2
原创 Android - OkHttp 访问 https 的怪问题
才是主流,但有可能存在个别网站不支持,所以,我们在使用 OkHttp 发起 https 请求之前,首先要搞清楚,就是服务端(接口)支持的 ssl 协议有哪些。最近使用 OkHttp 访问 https 请求时,在个别 Android 设备上遇到了几个问题,搜罗网上资料,经过一番实践后,问题得到了解决,同时,我也同步升级了我的 https 证书忽略库。的 Android 4.x 设备上,在高版本 Android 系统上并未发现,所以,为了降低风险,将上述代码做了系统版本控制,运行情况是否稳定还在观察中。
2024-04-21 20:58:17
1858
1
原创 Android - 编译 openssl 踩坑之路
以上的预编译库可能最低只支持 API 21(即 Android 5),如果你的项目需要支持 API 19(Android 4.4.x)及以下的话,就得自己编译 openssl 了,本篇主要记录本人编译。因为 openssl 官方目前没有提供 cmake 编译脚本,还是采用传统的 make 命令编译,所以我们需要编写一个 shell 脚本,命名为。因为本人使用的是 Windows 系统,不像 Mac 或 Linux 那样,天然自带各种 shell 命令,所以在执行。环境,因为有安装过 Git,所以可以在。
2023-11-05 16:04:47
1223
原创 AI - stable-diffusion 艺术化二维码
近日,AI 绘画(stable-diffusion)用来艺术化二维码算是比较火热的事了,这个 idea 是由国人用 Checkpoint + LoRA + QR Code ControlNet 组合实现出来的,下面是几张图片案例:《AI 生成可扫码图像 — 新 ControlNet 模型展示》不过,文章内并没有讲述艺术化二维码的具体过程,也没有现成的可供使用(可能出于某些原因没有公布吧,瞎猜的~),从网上收集了一些资料,使用现有的 ControlNet 模型也能够实现同样的效果,下面来看看具体实现步骤。
2023-06-18 14:26:32
3167
原创 uniapp - tensorflowjs 之小程序环境集成
(简称tfjs)是一个用于使用 JavaScript 进行机器学习开发的库。以下是tfjshl=zh-cn本系列主要记录如何在微信小程序环境下集成使用tfjs。
2023-04-09 19:25:18
1983
原创 AI - AI绘画的精准控图(ControlNet)
想让 AI 绘制出自己满意的图片并不容易,甚至多次调整提示词(Prompt)也生成不出来我们想要的画面。这时你需要一个大杀器 ControlNet,可以做到精准控图了
2023-03-13 20:06:57
8337
原创 AI - stable-diffusion(AI绘画)的搭建与使用
最近 AI 火的一塌糊涂,除了 ChatGPT 以外,AI 绘画领域也有很大的进步,以下几张图片都是 AI 绘制的,你能看出来么?
2023-02-26 17:41:48
14926
11
原创 Android - 自动系统签名
一、系统签名 以下是两类应用开发场景: 普通应用开发:使用公司自定义 keystore 进行签名,如:微信、支付宝 系统应用开发:使用 AOSP 系统签名或厂商自定义 keystore 进行签名,如:
2023-02-12 16:53:54
2506
原创 Android - 混淆 java-library 工程
AndroidStudio 可以创建好几种 Module 工程,如果 Module 使用的是 android 插件( 或 ),那么通过在 中将 设为 即可开启混淆,但如果 Module 使用的是 java 插件(),那就需要借助额外的工具了,因为 默认没有提供混淆配置域。想要混淆 工程,需要在 文件中手动依赖一个第三方库 :2、自定义混淆 Task依赖混淆库之后,还要自定义混淆任务,配置一些混淆选项,这里说明几个重点配置项: 这个库还有很多配置项,需要你感兴趣,可以到官网查阅手册了解:注意
2022-12-08 00:27:33
1085
原创 vue - Vue2兼容低版本浏览器
因为 Vue3 使用了 ES6 的 Proxy 作为其观察者机制,并且无法通过 polyfill 进行转换,所以工程要兼容低版本浏览器的话,还得继续使用 Vue2,经过一些研究,整理了以下 2 个版本的 Vue2 工程在兼容低版本浏览器时的详情步骤:
2022-11-08 16:59:47
2679
2
原创 vite - 多渠道差异化打包插件
是一个管理多渠道差异化源码的vite插件,与其他vite插件不同,的原理是从多渠道源码目录中过滤出当前渠道的所有源码文件,然后对src目录进行更新,即从多渠道源码(MCS)到当前渠道源码(FCS)的过程,而不再是基于src目录做文章,所以与其他vite插件可以很好的兼容。MCS:多渠道源码(multi-channel src)FCS:最终渠道源码(final channel src)
2022-11-06 16:14:45
1070
原创 uniapp - 接入科大讯飞语音评测
科大讯飞语音评测可以对字、词、句、篇章等题型进行多维度评分(准确度、流畅度、完整度、声韵调型等),支持中文和英文。最新的流式版使用 webSocket 调用接口,开发者可以边录音边上边音频数据(录音与评测同时进行),可以缩短用户等待评测结果的时间,大大提高用户体验。语音评测官方介绍:https://www.xfyun.cn/services/ise语音评测(流式版)API 文档:https://www.xfyun.cn/doc/Ise/IseAPI.html。
2022-09-05 22:01:31
5736
7
原创 Android - setVisibility() 失效,竟然是因为内存泄露
目前,我在开发的一个 Android 项目需要各个功能做到线上动态化,其中,App 启动时显示的 Loading 模块,会优先检测加载远程的 Loading 模块,加载失败时,会使用 App 本身默认的 Loading 视图,为此,我编写了一个 LoadingLoader 工具类:LoadingLoader 工具类使用 Kotlin 的单例模式, 方法接收 2 个回调参数, 方法触发加载远程 Loading 模块,并根据加载结果执行回调,其中 用于防止该工具类被初始化多次。然后,在 App 的主入口 L
2022-07-02 22:46:25
1521
原创 Kotlin - 改良装饰者模式
欢迎关注微信公众号:FSA全栈行动 👋Kotlin - 改良工厂模式Kotlin - 改良构建者模式Kotlin - 改良观察者模式Kotlin - 改良策略模式Kotlin - 改良迭代器模式Kotlin - 改良责任链模式Kotlin - 改良装饰者模式一、前言装饰者模式作用:在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。本质:该模式通过创建一个包装对象,来包裹真实的对象。核心操作:创建一个装饰类,包含一个被装饰类的实例装饰类重写所有被装饰类的.
2022-05-28 10:44:04
365
原创 Kotlin - 改良责任链模式
欢迎关注微信公众号:FSA全栈行动 👋Kotlin - 改良工厂模式Kotlin - 改良构建者模式Kotlin - 改良观察者模式Kotlin - 改良策略模式Kotlin - 改良迭代器模式Kotlin - 改良责任链模式Kotlin - 改良装饰者模式一、前言责任链模式作用:避免请求的发送者和接收者之间的耦合关系,将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。举例:OKHttp 的拦截器、Servlet 中的 FilterChain二.
2022-05-22 22:10:14
703
原创 uniapp - 腾讯云点播小程序插件
欢迎关注微信公众号:FSA全栈行动 👋一、简介微信小程序播放教育类视频要求具备有相关资质,但这些资质一般公司很难短时间申请下来(甚至有的公司压根就申请不了),而【短视频播放器小程序插件】含有《信息网络传播视听节目许可证》的资质证书备案,可以利用该插件来解决资质问题,相关截图如下:图片来源:https://cloud.tencent.com/document/product/266/36849采购流程于技术无关,以下内容着重讲解如何集成该微信小程序插件。注:【短视频播放器小程序插件】授权.
2022-05-16 01:24:33
3007
3
原创 Kotlin - 改良迭代器模式
欢迎关注微信公众号:FSA全栈行动 👋Kotlin - 改良工厂模式Kotlin - 改良构建者模式Kotlin - 改良观察者模式Kotlin - 改良策略模式Kotlin - 改良迭代器模式Kotlin - 改良责任链模式Kotlin - 改良装饰者模式一、前言迭代器模式作用:将遍历和实现分离开来,在遍历的同时不需要暴露对象的内部表示举例:ArrayList、LinkedList、TreeSet 均可通过 iterator() 方法获取到迭代器对元素进行遍历,不需要关心.
2022-05-08 19:17:58
831
原创 Kotlin - 改良策略模式
欢迎关注微信公众号:FSA全栈行动 👋Kotlin - 改良工厂模式Kotlin - 改良构建者模式Kotlin - 改良观察者模式Kotlin - 改良策略模式Kotlin - 改良迭代器模式Kotlin - 改良责任链模式Kotlin - 改良装饰者模式一、前言策略模式作用:让算法的变化独立于使用算法的客户核心操作:定义了算法族,分别封装起来,让它们之间可以相互替换二、使用策略模式例子:游泳运动员的游泳姿势重点:算法抽离,封装成策略作为一个游泳运动员,.
2022-05-04 19:55:56
903
原创 Kotlin - 改良观察者模式
欢迎关注微信公众号:FSA全栈行动 👋Kotlin - 改良工厂模式Kotlin - 改良构建者模式Kotlin - 改良观察者模式Kotlin - 改良策略模式Kotlin - 改良迭代器模式Kotlin - 改良责任链模式Kotlin - 改良装饰者模式一、前言观察者模式作用:定义了一个一对多的依赖关系,让一个或多个观察者对象监听一个主题对象。这样一来,当被观察者状态发生改变时,需要通知相应的观察者,使这些观察者对象能够自动更新。核心操作:观察者(订阅者)添加或删除.
2022-03-13 22:24:21
3833
原创 Kotlin - 改良构建者模式
欢迎关注微信公众号:FSA全栈行动 👋Kotlin - 改良工厂模式Kotlin - 改良构建者模式Kotlin - 改良观察者模式Kotlin - 改良策略模式Kotlin - 改良迭代器模式Kotlin - 改良责任链模式Kotlin - 改良装饰者模式一、前言构建者模式作用:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。核心操作:私有化复杂对象(Product)的类构造器,设计并创建 Builder 类。二、使用构建者模式例子:.
2022-03-06 20:18:20
2499
1
原创 Kotlin - 改良工厂模式
欢迎关注微信公众号:FSA全栈行动 👋Kotlin - 改良工厂模式Kotlin - 改良构建者模式Kotlin - 改良观察者模式Kotlin - 改良策略模式Kotlin - 改良迭代器模式Kotlin - 改良责任链模式Kotlin - 改良装饰者模式一、前言设计模式是软件工程中解决特定问题的一种指南,我们常说 Java 有 23 种设计模式,而多范式的 Kotlin 作为更好的 Java,拥有很多新的语言特性,在使用原本 Java 中常用的设计模式时,可以有哪些方面的改良呢.
2022-02-27 23:26:45
2693
原创 热修复 - Tinker多渠道加固配置
欢迎关注微信公众号:FSA全栈行动 👋一、问题腾讯的热修复方案 Tinker 为加固应用提供了支持,需要在 gradle 脚本中,通过 isProtectedApp 配置当前的基准包(base apk)是否为加固 apk ,而这个配置是全局性的,Tinker 没有为多渠道提供单独的配置,这意味着,如果你的 app 工程在各个渠道不是全部统一使用加固或非加固的话,那么在为线上 apk 制作补丁包时,你不得不总要考虑是否需要修改 isProtectedApp 的值。为了提升工作效率,确保产出的补丁准确无.
2022-02-24 17:58:37
882
原创 DesignPattern - 状态模式【行为型】
欢迎关注微信公众号:FSA全栈行动 ????一、迭代器模式介绍迭代器模式(Iterator Pattern)提供一种方法顺序访问一个聚合对象中各个元素,而又无须暴露该对象的内部实现,属于行为型模式。核心组成抽象容器(Aggregate):提供创建具体迭代器角色的接口,一般是接口,包括一个 iterator()方法,例如 java 中的 Collection 接口,List 接口,Set 接口等具体容器角色(ConcreteAggregate):实现抽象容器的具体实现类,比如 List 接口
2022-02-13 19:56:23
488
原创 DesignPattern - 备忘录模式【行为型】
欢迎关注微信公众号:FSA全栈行动 ????一、备忘录模式介绍备忘录模式(Memento Pattern)又叫做快照模式,属于行为模式。在不破坏封闭的前提下,捕获一个对象的内部状态,保存对象的某个状态,以便在适当的时候恢复对象。使用备忘录模式实现的方式需要保证被保存的对象状态不能被对象从外部访问核心组成Originator 发起者:记录当前的内部状态,并负责创建和恢复备忘录数据,允许返回到先前状态所需的所有数据,可以根据需要决定 Memento 存储自己的哪些内部状态Memento 备忘录
2022-02-13 19:54:38
2188
原创 RePluginX - 兼容AndroidX并加入新特性开发纪要
欢迎关注微信公众号:FSA全栈行动 ????一、RePluginX因 RePlugin 不支持 AndroidX,官方 github 已经好久不见有新的 Commits,一堆 issue 也没处理,难免让人觉得官方是否已经放弃了该项目。而公司开发需要使用到 RePlugin,但需要对其进行定制,向官方提交 pr 大概率是石沉大海,脑袋一拍,不如做做善事,自己基于 RePlugin 维护一个功能更强的 RePluginX,供有需要者使用,本人精力有限,欢迎有能力者一起维护~注:如果 RePlugin
2021-12-12 16:43:55
2740
2
原创 DesignPattern - 迭代器模式【行为型】
欢迎关注微信公众号:FSA全栈行动 ????一、迭代器模式介绍迭代器模式(Iterator Pattern)提供一种方法顺序访问一个聚合对象中各个元素,而又无须暴露该对象的内部实现,属于行为型模式。核心组成抽象容器(Aggregate):提供创建具体迭代器角色的接口,一般是接口,包括一个 iterator()方法,例如 java 中的 Collection 接口,List 接口,Set 接口等具体容器角色(ConcreteAggregate):实现抽象容器的具体实现类,比如 List 接口
2021-11-29 00:17:38
612
原创 逆向 - 用IDA破解adb时间限制
欢迎关注微信公众号:FSA全栈行动 ????一、场景之前公司有个 TV 盒子项目,需要使用厂商提供的 adb 工具才能连接设备进行调试,厂商为了安全,就在 adb 工具里加了过期时间限制,现在 adb 工具过期了,问厂商要新的,不给,让我自己改电脑时间(内心 os:这么容易就绕过去了,当初还为了安全加过期时间?纯属恶心人)。今天,领导说还要再调试查查项目 bug,我静心一想,每次都这样改时间也不是个事儿,求人不如求己,既然厂商不给力,那我就自己来动手破解吧~二、实战此次所需工具/条件如下:神器
2021-10-21 21:47:46
2817
1
原创 DesignPattern - 命令模式【行为型】
欢迎关注微信公众号:FSA全栈行动 ????一、命令模式介绍命令模式(Command Pattern)请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的对象,并把该命令传给相应的对象 执行命令,属于行为型模式。命令模式是一种特殊的策略模式,体现的是多个策略执行的问题,而不是选择的问题核心组成抽象命令(Command):需要执行的所有命令都在这里声明具体命令(ConcreteCommand):定义一个接收者和行为之间的弱耦合,实现 execute() 方法,负责
2021-10-21 00:26:35
191
原创 DesignPattern - 责任链模式【行为型】
欢迎关注微信公众号:FSA全栈行动 ????一、责任链模式介绍责任链模式(Chain of Responsibility Pattern)客户端发出一个请求,链上的对象都有机会来处理这一请求,而客户端不需要知道谁具体的处理对象,让多个对象都有机会处理请求,避免请求的发送者和接收者之间的耦合关系,将这个对象连成一条调用链,并沿着这条链传递该请求,直到有一个对象处理它才终止。2 个核心行为:一是处理请求,二是将请求传递到下一节点核心组成Handler 抽象处理者:定义一个处理请求的接口C
2021-10-10 22:11:51
149
原创 DesignPattern - 观察者模式【行为型】
欢迎关注微信公众号:FSA全栈行动 ????一、观察者模式介绍观察者模式(Observer)定义了对象间一种一对多的依赖关系,使得每当一个对象改变状态时,所以依赖于它的对象都会得到通知并自动更新,也叫做发布订阅模式 Publish/Subscribe,属于行为型模式核心组成Subject 主题:持有多个观察者对象的引用,抽象主题提供了一个接口可以增加和删除观察者对象;有一个观察者数组,并实现增、删及通知操作Observer 抽象观察者:为具体观察者定义一个接口,在得到主题的通知时更新自己
2021-09-15 21:13:12
112
原创 DesignPattern - 模板方法模式【行为型】
欢迎关注微信公众号:FSA全栈行动 ????一、模板方法模式介绍模板方法模式(Template Method)定义一个操作中的算法骨架,将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤,属于行为型模式核心组成抽象模板(Abstract Template):定义一个模板方法,这个模板方法一般是一个具体方法,给出一个顶级算法骨架,而逻辑骨架的组成步骤在相应的抽象操作中,推迟到子类实现模板方法:定义了算法的骨架,按某种顺序调用其包含的基本方法基本方
2021-09-13 23:30:55
116
原创 DesignPattern - 策略模式【行为型】
欢迎关注微信公众号:FSA全栈行动 ????一、策略模式介绍策略模式(Strategy Pattern)定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换核心组成Context 上下文:屏蔽高层模块对策略、算法的直接访问,封装可能存在的变化Strategy 策略角色:抽象策略角色,是对策略、算法家族的抽象,定义每个策略或算法必须具有的方法和属性ConcreteStrategy 具体策略角色:用于实现抽象策略中的操作,即实现具体的算法应用场景外出旅游,选择骑自行车、
2021-09-09 01:15:05
219
原创 DesignPattern - 享元模式【结构型】
欢迎关注微信公众号:FSA全栈行动 ????一、享元模式介绍享元模式(Flyweight Pattern)属于结构型模式,主要用于减少创建对象的数量,以减少内存占用和提高性能,它提供了减少对象数量从而改善应用所需的对象结构的方式;享元模式尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象。状态内部状态:不会随环境的改变而所有不同,是可以共享的外部状态:它随环境的改变而改变的,是不可以共享的,因此外部状态是由客户端来保持(因为环境的变化一般是由客户端引起)核心组成抽象享元
2021-09-06 20:45:09
132
原创 DesignPattern - 外观模式【结构型】
欢迎关注微信公众号:FSA全栈行动 ????一、外观模式介绍外观模式(Facade Pattern)又叫门面模式,隐藏系统的复杂性,定义一个高层接口,供客户端(也就是使用者)访问,该接口使得系统更加容易使用。核心组成外观角色(Facade):客户端可以调用这个角色的方法,这个外观方法知道多个子系统的功能和实际调用子系统角色(SubSystem):每个子系统都可以被客户端直接调用,子系统不知道门面的存在应用场景MVC 三层架构中,各层之间使用 interface 接口进行交互,不用担
2021-08-25 22:58:54
105
原创 DesignPattern - 代理模式【结构型】
欢迎关注微信公众号:FSA全栈行动 ????一、代理模式介绍代理模式(Proxy Pattern)属于结构模式,为其他对象提供一种代理以控制对这个对象的访问,客户端并不直接调用实际的对象,而是通过调用代理,来间接的调用实际的对象。核心作用:保护目标对象,增强目标对象(与装饰器模式类似)核心组成Subject:抽象接口,目标对象类和代理类都要实现的一个抽象接口Proxy:代理类,包含了对目标对象类的引用,从而可以随意的操作目标对象的方法RealSubject:目标对象类,也叫委托类,
2021-08-23 20:16:50
325
原创 DesignPattern - 装饰器模式【结构型】
欢迎关注微信公众号:FSA全栈行动 ????一、装饰器模式介绍装饰器模式(Decorator Pattern)也叫包装设计模式,属于结构型模式,它是作为现在的类的一个包装,允许向一个现有的对象添加新的功能,同时又不改变其结构。给对象增加功能,一般两种方式 继承 和 关联组合 。装饰器模式使用的是关联组合,将一个类的对象嵌入另一个对象中,由另一个对象来决定是否调用对象的行为来增强功能,比使用继承更加灵活。核心组成抽象组件(Component):定义组件的方法具体组件(ConcreteC
2021-08-18 22:51:55
131
原创 DesignPattern - 组合模式【结构型】
欢迎关注微信公众号:FSA全栈行动 ????一、组合模式介绍组合模式又叫部分整体模式,将对象组合成树形结构以表示“部分-整体”的层次结构,可以更好的实现管理操作;组合模式使得用户可以使用一致的方法操作单个对象和组合对象;部分-整体对象的基本操作多数是一样的,但是也有不一样的地方。本质:组合模式可以使用一棵树来表示核心组成组合中的对象声明接口(Component):在适当的情况下,实现所有类共有接口的默认行为。声明一个接口用于访问和管理 Component 子部件。容器对象(Compo
2021-08-11 21:29:25
114
原创 DesignPattern - 桥接模式【结构型】
欢迎关注微信公众号:FSA全栈行动 ????一、桥接模式介绍桥接模式是一种结构型模式,将抽象部分与实现部分分离,使它们都可以独立的变化,通俗来说,是通过组合来桥接其它的行为/维度。应用场景系统需要在构件的抽象化角色和具体化角色之间增加更多的灵活性不想使用因继承导致系统类的个数急剧增加的系统有时候一个类,可能会拥有多个变化维度,比如啤酒,有不同的容量和品牌,可以使用继承组合的方式进行开发,假如维度很多,就容易出现类的膨胀,使用桥接模式就可以解决这个问题,且解耦优点抽象和实现的分离
2021-08-09 21:48:24
145
三级缓存网络图片查看器
2016-05-22
默认使用DES加密聊天信息的SocketChat(内含DES与RSA加密工具)
2016-05-19
视频缩略图和显示的缓存异步机制
2016-05-15
ViewPagerIndicator
2016-05-09
SlidingMenu侧边栏的lib及实例
2016-05-08
获取缓存及清理缓存会用到的aidl文件
2016-04-18
安卓shell工具RootTools.jar
2016-04-16
安卓桌面小火箭发射
2016-04-16
安卓挂断电话用到的aidl
2016-04-15
利用Filter全局中文过滤(get和post请求中文乱码问题)
2016-10-23
使用ThreadLocal解决代码分层问题
2016-10-22
使用jar使用验证码功能(ValidateCode.jar )
2016-10-15
使用makefile编译多个.c文件例子
2016-08-13
commons-beanutils-1.8.3-connections.jar
2016-07-01
genymotion 5.0以上的 ARM_Translation
2016-06-29
android vitamio在线视频播放demo
2016-06-29
Genymotion-ARM-Translation_v1.1
2016-06-29
xstream-1.4.7
2016-06-18
xml的解析、生成工具
2016-06-18
java解析json的工具--json-lib
2016-06-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人