自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(148)
  • 资源 (8)
  • 问答 (1)
  • 收藏
  • 关注

原创 音视频开发之旅(84)-图像画质评测与归因

1. 图像画质评测的应用场景2. 画质评测的方法3. 低画质图像归因4. 画质增强的方法5. 资料。

2024-04-10 07:15:37 601

原创 音视频开发之旅(83)- 腾讯音乐开源高质量唇形同步模型--MuseTalk

​​​​​​​。

2024-04-07 01:43:10 509 3

原创 移动端深度学习开源框架调研

支持卷积神经网络,支持多输入和多分支结构,可计算部分分支无任何第三方库依赖,不依赖 BLAS/NNPACK 等计算框架纯C++实现,跨平台,支持 android ios 等ARM NEON 汇编级良心优化,计算速度极快精细的内存管理和数据结构设计,内存占用极低支持多核并行计算加速,ARM big.LITTLE cpu 调度优化支持基于全新低消耗的 vulkan api GPU 加速整体库体积小于 700K,并可轻松精简到小于 300K可扩展的模型设计,支持8bit 量化。

2024-04-06 00:56:31 902

原创 音视频开发之旅(81)- 图片&视频“黑边”检测与去除

1.“黑边“的场景2. 二值化--单一颜色边缘的图像3. canny边缘检测+霍夫直线变换--处理负责的边缘图像4. 性能优化5. 资料在页面展示中,如果图片/视频有黑边,比较影响体验,我我们今天实现下对图片/视频进行黑边检测。检测到黑边的信息之后,使用ffmpeg或者opencv进行裁剪即可实现黑边的去除即可。

2024-04-05 01:10:56 421

原创 音视频开发之旅(80)- AI数字人-腾讯开源AniPortrait-音频驱动的肖像动画

这两天腾讯开源了其音频驱动的肖像视频的项目AniPortrait,它也实现了类似功能:音频驱动、参考视频表情动作驱动,或者通过预先生成的pose关键点视频来驱动。Reference Pose Image: 参考图像中人物姿势的一个标准表示,用于帮助系统理解参考帧中的人物姿势。在第二阶段,这些关键点将被用于生成最终的视频。7. Project: 将复杂的3D面部数据转换为2D平面上的点集,为下一步的视频生成做准备。Denoising Unet:用于去除编码的潜在表示中的噪声,确保生成的图像尽可能清晰。

2024-03-31 12:05:56 655

原创 音视频开发之旅(78)- Docker使用和交互流程

这通常通过一个特定的API接口实现,Docker脚本发送请求并携带自身的标识信息,以便Web服务根据Docker脚本的能力或任务处理优先级分配任务。任务队列维护:Web服务接收到任务请求后,根据任务类型和内容将任务存入相应的队列中。任务派发:Web服务根据Docker脚本的请求返回待处理的任务信息,Docker脚本接收到任务信息后,根据任务类型和所需操作调用相应的处理脚本或程序。Docker通过轻量级的容器化技术,使得应用程序及其依赖可以打包在一个可移植的容器中运行,确保应用在不同环境下的一致性和效率。

2024-03-24 22:33:22 888

原创 音视频开发之旅(77)- 训练可泛化AI数字人的中文数据集汇总

1、CMLR2、LRW-10003、其他数据集4、视频收集与处理与训练5、资料Wav2Lip实现的是视频人物根据输入音频生成与语音同步的人物唇形,使得生成的视频人物口型与输入语音同步。不仅可以基于静态图像来输出与目标语音匹配的唇形同步视频,还可以直接将动态的视频进行唇形转换,输出与目标语音匹配的视频。但是预训练模型采用的是LRS2数据集,对于中文唇音同步效果不够真实,开放的或者可申请比较大的中文数据集有CMLR和LRW-1000等。也可以自己收集数据集进行清洗处理,但时间会很长,成本比较高。

2024-03-22 08:50:38 876

原创 音视频开发之旅(76)- 图片抠图换背景-MODNet

专注于预测图像中的细节,特别是边缘区域,一边产生更精准的分割效果。它利用了低分辨率分支的输出,对该输出进行上采样(即增加分辨率)以及结合下采样后的原始图像来获取更清晰的边缘分割。该分支也有一个辅助模块Skp Link,它将网络早期层的特征传递到后面的层,因为早期层通常包含更多的原始信息,这样做更有助于恢复细节。,通过对图片的卷积缩小图像尺寸,预测大致的语义信息,即图像中哪些区域是人物。该网络用来预测显著性区域(可以简单理解为人像,但不局限于人像,比如动物前景也没问题),以便从图像中分离出前后景。

2024-03-15 15:40:55 500

原创 音视频开发之旅(75)- AI数字人进阶--GeneFace++

目录1.效果展示和玩法场景2.GeneFace++原理学习3.数据集准备以及训练的过程5.遇到的问题与解决方案6.参考资料一、效果展示AI数字人进阶--GeneFace++(1)AI数字人进阶--GeneFace++(2)想象一下,一个专为你打造的AI数字人,不仅可以代表你在屏幕上出现,还能带来实实在在的商业价值。之前。

2024-03-14 01:33:40 1396 2

原创 音视频开发之旅(74)- AI数字人-实现图像无缝融合

通过先下采样再上采样,然后对上采样的,得到拉普拉斯金字塔,然后再和逐级上采样的图片进行相加即可恢复为原图, 即是无损的. 如果我们对图片中变化比较小的低频分量进行剔除,只保留更多细节的高频分量(即边缘轮廓),损失一部分不明显的信息,再进行恢复 可以实现图片压缩的效果.泊松融合可以将一个图像区域无缝地融合到另一个图像中,在保持图像渐变的前提下调整图像的像素值,不仅能够保留源图像的细节和结构,又能自然地适应目标图像的颜色和亮度,使得融合区域与周围环境看起来更自热协调。

2024-03-11 23:33:29 536

原创 自动裁剪人脸:简化你的数字人素材准备

在做数字人时,需要对采集的数据进行预处理,然后才能进行模型训练, 预处理常用的操作有:去背景 音频重采样 视频裁剪 音频特征提取等等,今天我们来分享一个自动化脚本: 对原图/视频进行人脸检测并根据目标尺寸以人脸为中心进行裁剪.获取视频的第一帧,进行人脸关键点检测,作为后续所有帧的人脸坐标(所以采集的视频人脸进来不要动作太大)图片的处理比较简单: 读取图片,进行人脸检测,根据un人脸中心点坐标和目标尺寸对原图进行裁剪。比如最近做的下面这个数字人效果,在训练阶段就用到了该脚本对视频进行自动裁剪。

2024-03-10 00:38:23 254

原创 音视频开发之旅(72)- AI数字人-照片说话之SadTalker

最后,将生成的3DMM系数映射到面部渲染器的三维关键点空间,以生成最终的视频。seamlessClone 驱动口型动的是256*256的人头区域,最终想输出full的视频,需要把上面的头部视频加上mmmmmmmmmmmmmmmmbn 原始图片根据mask和location进行合并成新的视频,这个可以优化,通过线程池进行加速,耗时可以从40s减少到20s。AI数字人目前做的最好的无疑是heygen,但是费用也是很贵,也有一些其他的商业应用,比如:微软小冰、腾讯智影、万兴播爆和硅基智能等。

2024-03-02 08:54:21 645

原创 音视频开发之旅(71)- 人脸修复画质增强之GFPGAN

它由一个U-Net模块和一个预训练的人脸GAN模型组成。GFP-GAN中为了保证人脸变清晰同时保持真实性,有四个loss1. “Reconstruction Loss” 使用预训练的 VGG-19 网络来完成分辨率的增强2. “Adversarial Loss” 使用 StyleGAN2 中类似的方法来生成逼真的纹理;3. “Facial Component Loss” 为了让面部细节真实,使用辨别器单独生成和应用面部区块的补丁,特别处理了眼睛、嘴巴等局部细节;

2024-02-27 13:52:45 1060

原创 音视频开发之旅(70)- 人脸修复画质增强之CodeFormer

见https://github.com/sczhou/CodeFormer Readme。

2024-02-26 08:36:29 736

原创 音视频开发之旅(69)-SD图生图

SD UNet 中的所有参数被冻结,并克隆一份(trainable copy)到 ControlNet. 这些 trainable copy 通过一个外部条件向量(external condition vector)进行训练.下图从整体上说明了 ControlNet 和 Stable Diffusion 如何在推理过程(采样)中协同工作。

2024-02-25 22:53:20 709

原创 音视频开发之旅(68)-SD文生图

Low-Rank Adaptation of Large Language Models,冻结预训练好的模型权重参数,然后在每个Transformer(Transforme就是GPT的那个T)块里注入可训练的层,可以理解为大模型的一个小模型。LoRA模型可以应用于各种不同的领域和用途,比如:角色lora、风格lora和服装lora等。:这个是一个比较有意思的参数,通过随机种子生成一张高斯噪声图片,通过迭代步数不断的进行去噪,而提示词引导系数直接决定了生成的图片受prompt影响的程度,一般设置为6-7.

2024-02-24 13:58:09 875

原创 音视频开发之旅(67) - 变速不变调之sonic源码分析

上一篇我们学习了音频变速不变调的原理以及WSOLA波形相似叠加算法进行时域压扩处理。其中在寻找相似帧方面,Sonic采用AMDF(平均幅度差函数法)方法来进行寻找。图片来自:[清音or浊音 ]浊音的发音过程是:来自肺部的气流冲击声门,造成声门的一张一合,形成一系列准周期的气流脉冲,经过声道(含口腔、鼻腔)的谐振及唇齿的辐射最终形成语音信号。故浊音波形呈现一定的准周期性。所谓基音周期,就是对这种准周期而言的,它反映了声门相邻两次开闭之间的时间间隔或开闭的频率。基音周期是语音信号最重要的参数之一,但是基

2022-08-12 12:59:53 1703 1

原创 音视频开发之旅(66) - 音频变速不变调的原理

音频变速不变调的原理

2022-08-07 17:18:08 2429 1

原创 音视频开发之旅(64) - 部分android手机编码的视频在ios上无法播放

目录 问题描述 问题分析 问题原因 问题解决 资料 收获 一、问题描述用小米11 录制视频上传后,在iPhone的Safari浏览器或者应用的H5中无法播放,而android设备上的确实可以正常播放。同样的操作,在一些其他android的手机上传的视频,在ios端却可以正常播放。二、问题分析拿到(能播放和不能播放)两个视频。分析下这两个视频有什么差异。通过MediaInfo查看两个视频的基本信息不能播放的视频{"

2022-01-23 23:43:43 4061

原创 音视频开发之旅(63) -Lottie 源码分析之动画与绘制

目录动画和绘制的流程 LayerView树 ShapeLayer的分析 Lottie优劣以及rLottie、PAG的介绍 资料 收获上一篇我们学习分析了Lottie的json解析部分. 这篇我们分析的动画和渲染部分。分析的重点:如何组织多图层layer的关系,控制先后处理不同图层的绘制以及动画。一、动画和绘制的流程我们通过入口API函数(LottieDrawable#setComposition、LottieDrawable#playAnimation)来进行分析。1.1 L

2022-01-16 08:15:51 448

原创 音视频开发之旅(62) -Lottie 源码分析之json解析

目录Lottie能做什么 Lottie 动画使用调用流程 Json字段介绍 解析为LottieComposition 资料 总结一、Lottie能做什么在实现动画方面,原生的方式开发成本比较高,airbnb开源的lottie有Android、iOS、RN等多个版本的支持,设计师通过AE设计好动画后,通过AE插件Bodymovin导出json和素材文件。可以上https://lottiefiles.com/popular看看一些流行的 Lottie 动效客户端通..

2022-01-09 17:35:40 3362

原创 音视频开发之旅(61)- 分析FFmpeg (解码部分的)常用结构体

上一篇我们分析了解封装部分的常用结构体,这篇我们来学习分析解码部分的常用结构体。目录断点分析ffplay解码流程及关键结构体 (解码部分)常用结构体以及之间的关系分析 资料 收获一、断点分析ffplay解码流程及关键结构体还是从read_thread进行分析 stream_component_open(is, st_index[AVMEDIA_TYPE_AUDIO]); ret = stream_component_open(is, st_inde

2021-12-05 09:54:22 468

原创 音视频开发之旅(60) -调试分析FFmpeg (解封装部分的)常用结构体

目录ffplay的断点调试 (解封装部分)常用结构体以及之间的关系分析 资料 收获工欲善其事,必先利其器,断点调试,对我们梳理流程排查问题十分重要,可以ffmpeg的调试可以在XCode、VS code以及QT等ide上进行方便的调试分析。本篇我们以XCode为例来先介绍下ffplay的断点调试,以ffmpeg4.4版本来进行分析。一、ffplay的断点调试首先下载和编译ffmpeg,具体可以参考音视频开发之旅(33) -交叉编译android使用的FFmpeg(3.x和4.x)区别在

2021-12-04 07:53:00 174

原创 音视频开发之旅(59)- 捕获收集、定位分析 Native崩溃

目录Native崩溃有哪些类型 如何捕获收集Native崩溃 如何分析定位Native崩溃 资料 收获我们知道Java崩溃是在Java代码中出现了未捕获异常,导致程序异常退出,常见的异常有:NPE、OOM、ArrayIndexOutOfBoundsException、IllegalStateException、ConcurrentModificationException等等。还有一类崩溃,也是我们不得不关注,那就是Native层崩溃,这类崩溃不像Java层崩溃那样比较清晰的看出堆栈信息以及

2021-11-28 15:51:13 3712

原创 FFmpeg X264编码参数

原文章是台湾省的音视频前辈翻译而来,其中用到了一些词语稍微有些不同,为了更好的阅读和理解,进行了修改替换,具体如下:位元率 —〉比特率片子 —〉 slice位元数 —〉比特数资料 —〉数据资料流 —〉数据流视讯 —〉视频弹性 —〉自适应支援 —〉支持装置 —〉设备筛选 —〉滤波器巨集区块 —〉宏块动态向量 —〉运动向量动态估算 —〉运动估计解复用器 —〉解复用器副文件名 —〉后缀名档案 —〉文件资讯 —〉信息旗标 —〉标记档名 —〉文件名多工器 —〉复用器http:

2021-09-16 00:53:00 2509

原创 音视频开发之旅(58) -H.264 帧内预测

目录编码流程和数据格式回顾 4 × 4亮度块的9中预测模式 16 × 16亮度块的4种预测模式 8 × 8 色度块的4种预测模式 JM代码 资料 收获一、编码流程和数据格式回顾我们先看下下图来回顾下编码流程一个编码图像通常划分一个或多个片,每个片又可以划分成若干宏块组成,一个宏块由一个 16×16 亮度像素、一个 8×8 Cb以及一个 8×8 Cr 彩色像素块组成,即常见的420采样格式,如下图:我们通过H264visa码流分析工具看下H264数据的第一帧数据,

2021-09-11 23:34:00 303

原创 音视频开发之旅(57) -如何方便的查看AndroidNative源码

目录 背景 Android源码下载 源码编译及遇到的问题 使用CLion 导入 资料 收获 一、背景对Framework层的了解学习是我们进阶的一个重要阶段。通过 AS 查看 Framework 代码体验非常好,无论是索引还是界面都让人很满意,但是当你跟踪代码,发现进入 native 逻辑时,就会发现 Android Studio 对 native 代码的支持非常不好,不能索引不支持符号搜索不能跳转等。网页上可以通过cs.android.c

2021-09-09 00:19:40 436

原创 音视频开发之旅(56) -H264/AVC基本结构

从这篇开始,我们进入H264的学习实践,主要分三个阶段 学习H264基本结构; 了解具体编码压缩技术; 分析了解相关开源库 x264和h264bitstream。 这篇我们来一起学习H264的基本结构目录 H264/AVC的目标和方案 H264分层结构- VCL和NAL NALU HEAD解析 NALU payload I/P/B帧的特点 切片Slice和宏块 资料 收获 一、H264/AVC的

2021-09-04 16:45:50 407

原创 音视频开发之旅(55)-阻塞队列与无锁并发容器

目录阻塞队列的定义和使用场景 阻塞的队列的实现原理 简单学习无锁并发容器之ConcurrentLinkedQueue和CAS 资料 收获一、阻塞队列的定义和使用场景阻塞队列(BlockingQueue)在队列Queue的基础上增加了两个场景的阻塞当队列满时,再向队列添加数据会阻塞,直到队列不满时 当队列为空时,再向队列获取数据会阻塞,直到队列变为非空阻塞队列常用于生产者消费者的场景下面我们先来Queue和BolckingQueue接口的定义//java.util.Qu

2021-08-29 13:07:51 207

原创 音视频开发之旅(54) - Lock、重入锁、读写锁和Condition

目录Lock的意义和使用 同步器AbstractQueuedSynchronizer 重入锁ReentrantLock 读写锁ReentrantReadWriteLock Condition一、 Lock的意义和使用在Java 1.5之前java程序是通过synchronized来实现锁功能的。Java1.5引入了Lock接口以及相关的实现类,提供了和synchronized类似的同步功能。相比synchronized的隐式加锁和释放。Lock需要手动操作。少了便捷性,但却可以更加灵活和高

2021-08-22 21:34:03 185

原创 音视频开发之旅(53) - Java并发编程 之 synchronized

目录synchronized的使用方式 synchronized的原理 线程的等待、中断与唤醒 资料 收获一、synchronized的使用方式关键字 synchronized可以保证在同一个时刻,只有一个线程可以执行某个方法或者某个代码块.有如下三种常见的使用:修饰实例方法,作用于当前实例加锁,进入同步代码前要获得当前实例的锁 synchronized void syncIncrease4Obj(){ synchronized (this){...

2021-08-17 22:31:25 181

原创 音视频开发之旅(52) - Java并发编程 之内存模型与volatile

目录 JVM内存结构和内存模型 并发编程中的三个概念与重排序 happens-before原则 volatile原理 volatile使用场景 资料 收获 一、JVM内存结构和内存模型1.1 JVM内存结构图片来自图书《深入理解Java虚拟机》Java虚拟机在运行程序时会把其自动管理的内存划分为以上几个区域,每个区域都有的用途以及创建销毁的时机方法区属于线程共享的内存区域,主要用于存储已被虚拟机加载的类信息、常量.

2021-08-14 21:53:29 204

原创 音视频开发之旅(51)-M3U8边缓存边播放

目录MP4的“问题” m3u8是什么 m3u8的好处 源码分析 扩展思考:mp4能不能像m3u8一样进行分片缓存呐? 资料 收获一、MP4的“问题”我们上面两篇边缓存边播放之AndroidVideoCache和边缓存边播放之缓存分片都针对MP4格式进行缓存处理,由于很多视频都是mp4格式,所以市面上商用的或者开源的播放器和缓存项目都是只支持MP4. 但是mp4格式有两个弊端(当然也是有办法进行优化的)1.1 moov在mdat后影响秒开率Mp4格式是一个个Box,其中moov存

2021-08-12 08:34:48 3294

原创 音视频开发之旅(50)-边缓存边播放之缓存分片(1)

目录什么是缓存分片 为什么要缓存分片 如何实现 资料 收获一、什么是缓存分片我们在上一篇介绍AndroidVideoCache时,知道它会一直下载数据直到完全下载。这会带来流量的浪费。比如一个5MB的视频,码率是2Mb/s,共有5Mx8/2=20秒。如果带宽是5MB/s,一个5M的视频1秒钟就下载完了,但是用户也许只看到了2秒钟因为不感兴趣划走了,这样就造成了两个弊端 流量的浪费和LRU缓存策略的漏洞。这个问题我们可以通过限速以及缓存LRU策略的调整来进行优化。同时还存在另外一个问题

2021-08-09 13:11:09 970 1

原创 音视频开发之旅(49)-边缓存边播放之AndroidVideoCache

目录背景 AndroidVideoCache简单使用 实现原理 源码分析 AndroidVideoCache的不足 资料 收获一、背景播放音视频时,播放器数据的请求是由播放器内部发起的,我们只是提供了一个url,而不能控制数据的请求过程,都是要先进行下载,下载到一定量之后播放器再开始播放,当下载进度减去播放进度小于一定阀值,进入缓冲状态。比如MediaPlayer的最小缓存大小是4M,最大20M//framework/av/media/libdatasource/in..

2021-08-01 15:49:56 745

原创 Android基础进阶 - 消息机制 之Native层分析

目录基础知识简介 Linux eventfd事件等待/响应机制 Linux IO多路复用epoll Android消息机制Native层分析 nativeInit流程 nativePollOnce流程 nativeWake流程 资料 收获上一篇中关于ThreadLocal的使用,遗漏了一个点:ThreadLocal的回收,使用不当会操作内存泄漏。通过上一篇的分析我们知道了ThreadLocalMap.Entry中的key时ThreadLocal的弱引用,而value需要在

2021-06-13 13:04:20 675 2

原创 Android基础进阶 - 消息机制 之ThreadLocal

目录ThreadLocal是什么 如何使用ThreadLocal ThreadLocal源码分析 消息机制中Looper中的ThreadLocal使用 资料 收获上一篇我们分析了Anrdoid消息机制的实现,其中关于ThreadLocal以及Native层的还没有搞清楚,这篇我们来一起学习分析下ThreadLocal的作用。一、ThreadLocal是什么ThreadLocal 线程局部变量 是一个泛型类,可以接受任何类型的对象,一般ThreadLocal的类型的变量时static类

2021-06-08 01:10:18 131 1

原创 音视频开发之旅(45)-ExoPlayer 音频播放器实践(一)

通过上一篇的学习实践,我们了解了ExoPlayer的优缺点以及基本用法,今天我们进入ExoPlayer的音频播放实践,我们来一起实现一个简单的音频播放器。目录媒体播放框架MediaSession MediaSession框架+ExoPlayer 简单音乐播放器实践播放网络音乐 播放/暂停 歌曲切换 倍速播放资料 收获一、媒体播放框架MediaSession音频播放器并不总是需要使其UI可见。一旦开始播放音频,播放器就可以作为后台任务运行。用户可以切换到另一个应用程序,并继续听。

2021-05-29 17:41:27 1384 1

原创 音视频开发之旅(44)-ExoPlayer介绍及简单使用

目录ExoPlayer基本介绍 ExoPlayer的基本使用 遇到的问题 资料 收获从这篇开始我们进入阶段四 —— 一些音视频开源项目的学习使用分析,今天我们进入ExoPlayer部分的学习实践一、ExoPlayer基本介绍1.1 ExoPlayer优缺点ExoPlayer是谷歌开源的一个应用级的音视频播放器。ExoPlayer 支持基于 HTTP 的动态自适应流 (DASH)、SmoothStreaming 和通用加密、以及可以很好的支持播放队列、播放源的无缝切换等功能。它采用易于

2021-05-15 20:00:44 886 3

原创 音视频开发之旅(43)-光照基础(二)

目录实践(环境光、漫反射光、镜面反射光) 资料 收获上一篇我们学习实践了关照基础的基本概念和立方体的实现。有不清楚的可以先进行回看。这篇我们来光照基础的具体实践一、光照基础实践原始立方体效果1.1、环境光(Ambient Lightiing)//顶点着色器uniform vec3 lightColor;void main(){... // 环境光 //光照强度 float ambientStrength = 0.3; am..

2021-04-24 09:02:48 214

app-debug.apk

app-debug.apk

2020-12-22

mac-010editor&ntfs.zip

010editor

2020-08-27

Synergy_linux_mac_windows.zip

windows linux 以及 mac 三个系统版本都有。最新的mac版本可以。关于synergy的用法详见:https://www.jianshu.com/p/f1da68ac5413

2020-04-05

pager-sliding-tab-strip-demo

使用pagerSlidingTabStrip开源库 实现viewpager滑动tab联动效果。 很好的扩展性,可以自定义滑动指示器,tab分割线,下划线,以及设置tab为textview或者icon。支持自定义textview的字体比如使用Roboto字库等。 该demo 上面tab为textview。下面tab为icon

2015-05-24

apktool-v2.00rc2

apktool反编译过程中出现如下错误 Exception in thread "main" brut.androlib.AndrolibException: Could not decode arsc file at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:56) at brut.androlib.res.AndrolibResources.getResPackagesFromApk(AndrolibResources.java:491) at brut.androlib.res.AndrolibResources.loadMainPkg(AndrolibResources.java:74) at brut.androlib.res.AndrolibResources.getResTable(AndrolibResources.java:66) at brut.androlib.Androlib.getResTable(Androlib.java:50) at brut.androlib.ApkDecoder.getResTable(ApkDecoder.java:189) at brut.androlib.ApkDecoder.decode(ApkDecoder.java:114) at brut.apktool.Main.cmdDecode(Main.java:146) at brut.apktool.Main.main(Main.java:77) Caused by: java.io.IOException: Expected: 0x001c0001, got: 0x00000000 at brut.util.ExtDataInput.skipCheckInt(ExtDataInput.java:48) at brut.androlib.res.decoder.StringBlock.read(StringBlock.java:44) at brut.androlib.res.decoder.ARSCDecoder.readPackage(ARSCDecoder.java:102) at brut.androlib.res.decoder.ARSCDecoder.readTable(ARSCDecoder.java:83) at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:49) ... 8 more 由于使用新的adt,而反编译的apktool.jar不是最新的导致。使用新的apktool.jar替换原来的就可以了。

2015-01-28

ubuntu apktool

ubuntu apktool 反编译工具。解压后把 aapt apktool apktool.jar /usr/bin/目录下即可。 apktool d xxx.apk

2015-01-15

apktool1.52

ubuntu apk 反编译工具aapt apktool

2015-01-15

GSM AT指令

AT指令 英文翻译 AT指令在当代手机通讯中起着重要的作用,能够通过AT指令控制手机的许多行为,包括拨叫号码、短信、电话薄、按键控制、传真、GPRS等

2013-11-22

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除