49 Star 221 Fork 0

谢特 / DNA

Create your Gitee Account
Explore and code with more than 12 million developers,Free private repositories !:)
Sign up
This repository doesn't specify license. Please pay attention to the specific project description and its upstream code dependency when using it.
Clone or Download
contribute
Sync branch
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README

D.N.A

**测试版DNA2已发布

一键安装,复制一下命令到Termux中执行 bash <(curl -s https://gitee.com/sharpeter/proot-ubuntu/raw/master/onekey_install_dna.sh)**

介绍

  1. 全称:安卓一般固件解包打包助手【 Droid Normal Assistant 】 简称: D.N.A

    如需在WIN10系统中(无需WSL子系统)对安卓11及动态分区ROM进行解包打包工具请戳这里: R.N.A

  2. 支持常见格式【 *.zip, *.br, *.dat, *.dat.1~20, ext4/2 *.img, payload.bin, *.win000-004 】,只认后缀,任意名称!

  3. 支持安卓5.0+解包,支持安卓11 vendor.img 解包

  4. 支持安卓 [5.0+] 【非动态分区、动态分区】 打包,由于没有动态机子,未进行刷入测试 ----2020.12.20

  5. 支持合并分段*.dat.*,最大支持20个(1~20 看了几个vivo rom,通常为15个分段文件,多了影响解包速度)

  6. 支持分解payload.bin,解开bin后自动查找所有ext2/4镜像再次进行分解,一步到位 !!!

  7. 支持分解TWRP备份文件(data除外),最大支持4个( *.win000~004 ) ----2020.11.24

  8. 电脑Linux版公测 ----2020.11.30

  9. 加入插件功能,插件在工具中的相对路径:DNA/Insides/Errors/submodules文件夹 公测 ----2020.12.21

  10. 加入AIK(Android-Image-Kitchen)分解合成[boot|exaid|recovery/etc].img, 需要java支持,已安装过的重新执行第6条教程 公测 ----2021.01.09

  11. 支持分解部分super.img(不支持动态AB双系统),最新小米11super.img测试不支持 公测 ----2021.01.09

  12. 修复部分动态分区size识别不准确问题! ----2021.01.09

  13. 修复使用[ make_ext4fs ]打包错误问题! ----2021.01.21

  14. 打包过程加入静默模式(不询问,自动打包工程目录中所有可打包内容) ----2021.01.21

软件架构 同时支持

  1. 手机 Termux Proot Ubuntu 20.04及以上版本 Arm64[aarch64] 或者 Chroot Ubuntu 20.04及以上版本 Arm64[aarch64] 【推荐chroot,效率更高】

  2. 电脑 Win10 Wsl/Wsl2 Ubuntu 20.04及以上版本 x86_64[x64] WSL2效率较低,不推荐,除非你电脑配置很高!

  3. 虚拟机或实体机 Ubuntu 20.04及以上版本 x86_64[x64] 推荐!!!

手机Termux复制粘贴bash <(curl -s https://gitee.com/sharpeter/proot-ubuntu/raw/master/onekey_install_dna.sh)回车即可一键安装D.N.A工具!!!

安装教程【PC版教程从第5条开始】以下每一行均为一条完整命令

  1. 手机安装原版Termux.apk 运行Termux 获取存储权限

    • termux-setup-storage
  2. 下载git、tar、proot【复制下面命令,在Termux中输入,回车】

    • pkg install git tar proot wget -y
  3. 下载ubuntu.tar.xz及安装脚本【复制下面命令,在Termux中输入,回车】

    • 方法1 】:可能下载太慢

    • git clone https://gitee.com/sharpeter/proot-ubuntu --depth 1

    • bash proot-ubuntu/install_ubuntu.sh

    • 方法2 】:使用清华源链接,默认下载最新版,速度理论上不错!

    • wget https://gitee.com/sharpeter/proot-ubuntu/raw/master/install_ubuntu.sh

    • bash install_ubuntu.sh

    • 注意 】等待下载、解压完成

  4. 执行启动ubuntu 20.04【复制下面命令,在Termux中输入,回车】

    • ubuntu
    • 注意 】 很多人说这里输进去没反应,注意看 ~ 变成 root@localhost 就说明 ubuntu 已经启动了 ,如果报错了就 【 rm -rf ubnutu 】 再从第3步开始!!!
  5. 执行第4条后进入ubuntu系统 【 PC版教程从此开始,手机端继续往下 】 【复制下面命令,终端中执行】

    • sudo apt update && sudo apt upgrade -y必须执行,近期这一步出错是因为清华源抽风,执行mv -f /etc/apt/sources.list.bak /etc/apt/sources.list后再执行这一步,网速慢科学上网

    • sudo apt install git cpio aria2 brotli android-sdk-libsparse-utils openjdk-11-jre p7zip-full -y必须执行,使用新版本前建议重新安装一次

    • sudo apt install zip unzip gawk sed curl wget -y [可选,非必需]

  6. 下载此工具【复制下面命令,终端中执行】

    • git clone https://gitee.com/sharpeter/DNA.git --depth 1开放下载,所有可用功能完全免费,限制使用状态
    • git clone https://gitee.com/sharpeter/DNA2 -b feature --depth 1最新DNA2公测
  7. 下载完成后执行【复制下面命令,终端中执行】

    • cd DNA && python3 run.py
  8. 至此你已启动此工具,教程结束 !

      1. 今后每次启动只需打开Termux 输入【 ubuntu 】就可直接启动工具(工具存在时)
      1. 如果你想打开Termux就直接启动工具: 在Termux(不是在proot ubuntu中,建议重启termux再执行)中执行【 echo -e "if [ -d ubuntu ] && [ $(command -v ubuntu) ]; then\n\tubuntu\nfi" >> .bashrc 】 然后重新启动Termux就可以直接启动工具(工具存在时)

使用说明

  1. Termux内所有操作尽量【 不要使用系统root功能 】, PC端需要root权限(sudo) 且最好不要在【root用户登录状态下】运行此工具,以免打包后刷入手机出现权限问题 !

  2. 工具每次启动都要联网进行版本检测,所以会有点慢;如果经常使用,切记不要退出工具

  3. 关于手机解压zip - 请将zip文件放置在【 内置存储 /sdcard/Download 】工具会自动查找,如果没找到就放在工具目录下

  4. 手机端termux proot ubuntu下工具目录: 【/data/data/com.termux/files/home/ubuntu/root/DNA

  5. 请勿删除【工程目录/configs文件夹】,打包时所需的文件信息都在此处,若你想修改打包img大小,可以打开 【工程目录/configs/*_size.txt】把里面数值改成你想要的大小,该数值必须是字节大小,动态分区打包超出大小可以同时修改【工程目录/configs/*_size.txt】和【dynamic_partitions_op_list】 中例如【resize vendor 2016763904】 ,因为我没有动态分区的机子,不保证打包后能正常开机!

  6. 由于手机性能、proot效率以及工具工作方式( 比如每次打包img前都要自动比对获取新增文件的fs_config,不会立刻询问是否打包 )等原因,工具会出现像是卡住不动,不必担心,保持耐心,等待片刻即可

  7. 删除文件尽量在【Termux或proot ubuntu】执行 【rm -rf 文件、文件夹】 【 不要使用系统root功能

  8. 不要放在含有中文名文件夹下运行,不要选择带有空格的文件进行解包,工程文件夹不得有空格或其他特殊符号 !!!

  9. 更新说明: 在proot ubuntu下删除原 DNA文件夹(记得提前备份DNA文件夹内的重要文件/插件),重新【 git clone https://gitee.com/sharpeter/DNA.git --depth 1

  10. 动态分区必须打包成原官方卡刷包格式[zip](即打包成.new.dat.br或.new.dat,同时必须使用工程文件夹下的dynamic_partitions_op_list,一块压缩成zip卡刷包),不允许单刷.img

  11. 手机上使用工具时如果使用 系统ROOT 对工程目录下进行了操作(比如: 添加文件,修改文件等。。。 ),请记得给操作过的文件或文件夹 777 满权!!!

参与贡献

Credit:

  1. aarch64 mke2fs & e2fsdroid from 小新大大

  2. x86_64 mke2fs & e2fsdroid from Erfan Abdi

  3. osm0sis @ Github: Android-Image-Kitchen

  4. xiliuya @ Github: termux-linux

  5. xpirt @ Github: sdat2img.py & img2sdat.py

  6. Cubi @ Github: ext4.py

  7. Gregory @ Github: extract_android_ota_payload.py & update_metadata_pb2.py

  8. Sergey @ Github (unix3dgforce@MiuiPro.by DEV Team): BatchApkTool UnpackerFirmware & lpunpack.py

  9. aarch64/x86_64 mkfs.erofs & erofsUnpackRust from 丧

工具预览

  1. 手机 Termux Proot Ubuntu 20.04 Arm64[aarch64]

Image text

  1. 虚拟机或实体机 Ubuntu 20.04 x86_64[x64]

Image text Image text

  1. 电脑 Win10 Wsl2 Ubuntu 20.04 x86_64[x64]

Image text Image text Image text

交流反馈

  1. QQ群1:578517063

    QQ群2:904865456

  2. 酷安Errors

免责声明

  1. 本工具在Termux proot环境中运行,不需要root权限, 【 请不要在Termux中使用系统root功能 】 !!!

  2. 此工具不含任何【破坏系统、获取数据】等其他不法代码 !!!

  3. 如果由于用户利用root权限对工具中的工程目录进行操作导致的数据丢失、损毁,本人不承担任何责任 !!!

Empty file

About

安卓ROM解包打包工具 支持安卓11 expand collapse
Python
Cancel

Releases

No release

Contributors

All

Activities

Load More
can not load any more
Python
1
https://gitee.com/sharpeter/DNA.git
git@gitee.com:sharpeter/DNA.git
sharpeter
DNA
DNA
master

Search