MTwinTools — средство для работы с файлами прошивок и образами .img для чипов MTK
Портирование MIUI прошивок на MTK смартфоны (На примере MT6582)
Всем привет и возможно пока (ибо на днях в баню попаду)
Что же.. в этот раз напишу гайд по портированию прошивок MIUI с одного МТК девайса на другой, естественно что гайд будет о портировании MIUI 7 и только до версии 4.4 включительно.
Часть инфы нарыл на 4pda, другое – с собственного опыта.
Что же для этого нужно?
Итак, для начала вы должны получить рут права, далее в смартфоне включить отладку по USB, как правило этот пункт находится в меню разработчика.
1) Этап первый – MTKdroidtools
Тут мы должны слить бэкап на комп, чтобы на его основе создать прошивку.
Заходим в программу и если все правильно сделали то нажать кнопку ROOT, чтоб получить root shell (когда вы его получите то прямоугольник в нижнем левом углу станет зеленого цвета).
Далее открываем вторую вкладку программы и выбираем БЭКАП
Начнется создание бэкапа, и далее вам будет предложено запаковать все в архив.
Этого делать не нужно, нажимаете НЕТ (ну или да, если так хочется).
После того как увидите оповещение о том что задание завершено – переходите на первую вкладку программы и выберите пункт “карта блоков”
Тут нам важно записать или запомнить какой номер у точек монтирования.
Раздел SYSTEM и раздел DATA.
Тут указано mmcblk0p5 для system (для примера).
Все это пригодится немного позже.
Отлично, бэкап создан и теперь настало время для модификации прошивки.
2) Скачайте прошивку MIUI для вашего процессора, от любой модели смартфона.
К примеру если у вас MT6582 то качаете то же самое.
Ни в коем случае не используйте бэкап сторонних смартфонов, даже тех же моделей, поскольку существуют различные “ревизии” у одной и той же модели.
На одном китайском galaxy s6 я нашел более 5 ревизий и 2 разных типа памяти.
К чему приведет скачивание не той ревизии? от нерабочей камеры, отсутствие картинки до бутлупа (зависания на логотипе).
3) Распаковывайте скачанную прошивку и для удобства откройте 2 окна проводника, со своим бэкапом и скачанной прошивкой.
Примерно это должно быть так
Да да, архив system надо распаковать.
Итак. а теперь переходим к замене фаилов.
Заменяем из папки с бэкапом в папку с скачанной прошивкой
папки lib/hw ; lib/soundfx ; lib/ssl копируем целиком с заменой.
меняем все .xml которые начинаются на android.hardware
etc/wifi ; etc/bluetooth – копируем целиком с заменой
Если вы скопировали эти фаилы с бэкапа в папку с новой прошивкой и заменили – значит пол дела сделано.
4) Распаковка boot.img и сборка
В архиве с скачаной прошивкой вы должны найти boot.img фаил.
Теперь создайте две папки с программами mtwintool.
В первую папку кидаете бут с бэкапа, во вторую бут из новой прошивки.
Так должна выглядеть папка программы, в папку IN кидайте бут фаил, в другую папку программы кидаете бут фаил от новой прошивки (которую скачали)
Запускаем программу открыв menu.bat (не забудьте когда откроете программу переключить язык на английский)
Тут выбираем сначала пункт 5 (init tools) жмем клавишу Y затем выбираем пункт 1, далее выбираем image unpack и там же выбираем пункт номер 1.
Теперь мы должны получить такую картину
добавились 2 папки, unpack – там где распакован boot, а PACK – это то где появится новый бут фаил.
Проделайте те же действия со вторым бутом (из новой прошивки).
Теперь заменяем фаилы.
пусть вас не смущает то что в некоторых прошивках нет фаила kernel_header.
fstab
fstab.fat.nand
fstab.nand
init.project.rc
init.no_ssd.rc этот файл может называться в другом ядре init.ssd.rc
init.usb.rc
так же не забываем о камере
открываем init.rc и находим там раздел #Camera
и копируем все с данного раздела из init.rc (бэкапа) в init.rc новой прошивки.
что копировать именно? пример моего init.rc
Теперь запускаем mtwintools в той папке в которую копировали фаилы с бэкапа и переходим к процессу запаковки.
Для этого в Mtwintools нужно выбрать пункт 1, затем нажать image pack и выбираем фаил бута.
Далее нам будет предложено выбрать метод запаковки, на мой взгляд лучшее это gzip.
Выбираем и ждем. после этого смотрим на размер созданного бут фаила в папке PACK, и если размер равен нулю, то открываем папку boot/cfg , фаил boot.cfg.
Меняем размер bootsize, ставим вместо 0x1000 другое значение, например 0x1200 и так далее, затем снова пытаемся создать бут, если он снова весит 0 килобайт, увеличиваем значение и так до тех пор пока бут не прийдет к нормальному обьему (главное чтоб не 0)
Так же есть вариант такой чтоб убрать значение bootsize, то есть сделать что то вроде такого – bootsize = ( то есть не писать никакого значения для этого параметра, оставлять пустым )
5) Редактирование скрипта
Открываем папку META-INFcomgoogleandroid
фаил updater-script открываем и находим значения вроде таких
format(“ext4”, “EMMC”, “/dev/block/mmcblk0p5”, “0”, “/system”);
Вспоминаем карту блоков, а точнее под каким номером у вас находится system и data.
Если в скрипте написано
format(“ext4”, “EMMC”, “/dev/block/mmcblk0p5”, “0”, “/system”);
mmcblk0p7 это system – то смело меняете с 5 на 7.
Менять нужно абсолютно все параметры где есть упоминание mmcblk0p(X) под вашу карту блоков.
Теперь перемещаете бут фаил в новую прошивку
и запаковывайте в ZIP. вот и вся система)
НО напоследок дам пару советов.
Если после прошивки у вас маленькие иконки и шрифт, либо наоборот крупные . то открывайте фаил build.prop
найдите там параметр ro.sf.lcd_density и измените его значение.
если такого пункта нет – добавьте.
Вот и все ребята,спасибо за внимание.
Рейтинг близок к -200 и возможно это последний мой пост)
Как распаковать system.img на Windows для создания кастомной прошивки
Инструкция по распаковке system.img
1. Скачайте из вложений архив ext4_unpacker_exe.zip , распакуйте его в отдельную, удобную для вас папку (желательно в корень диска С или D). Запустите из распакованной папки на правах администратора ext4_unpacker.exe (правый клик по файлу -> запуск от имени администратора)
2. В открывшемся окне нажмите на значёк папки в правой части программы, откроется окно обзора, выберите там system.img который вы хотите распаковать
3. После выбора system.img , в окне программы отобразятся все папки раздела system (то есть system.img). Нажмите на кнопку сохранить
4. Далее откроется окно обзора. Здесь выбираем удобное для вас место сохранения и вводим название сохраняемого файла как system.ext4 . Дальше начнётся распаковка, дайте ей завершиться, может занять довольно много времени
5. После распаковки system.ext4 , можете закрыть EXT4 Unpacker. Теперь скачайте из вложений архив ext2explore-2.2.71.zip , распакуйте его, зайдите в распакованную папку и на правах администратора запустите файл ext2explore.exe
6. В появившемся окне программы выберите File -> Open Image , появится окно обзора в котором выберите system.ext4 . Далее делаем правый клик по файлу в левой части окна программы и выбираем Save . Сохраняем все в отдельную папку которую желательно назвать System
7. Ждём пока образ будет распакован. По завершения процесса, в папке System , буду находиться все файлы и папки распакованные из system.img
Cкачать:
Распаковка system.img при помощи DiskInternals Linux Reader
1. Устанавливаем DiskInternals Linux Reader
2. Запускаем только что установленный DiskInternals Linux Reader (желательно запускать от имени администратора, то есть правый клик по ярлыку программы -> запуск от имени администратора
3. В левом верхнем углу окна программы выбираем Drivers -> Mount Image , в следующем окне оставляем флажок напротив Raw Disk Images и нажимаем Next >
MTwinTools — средство для работы с файлами прошивок и образами .img для чипов MTK
Add swipe gestures to any Android, no root
One handed mode
Make your phone easier to use with one hand, no root
XDA Forum App
The best way to access XDA on your phone
XDA Labs
An app store for independent developers
Hyperion Launcher
A sweet, feature-filled launcher with a beautiful UX.
Sites we like
Swappa
XDA’s official marketplace for buying and selling tech
Pocketnow
Social
Resources
Android Image Kitchen — Unpack/Repack Kernel+Recovery Images, and Edit the ramdisk.
Windows ports of the necessary Linux utils for Android image (kernel/recovery) mod work:
See the Mobile Edition (AIK-mobile) initial release notes for the specifics on the native Android version.
Likewise for the Linux/macOS Edition (AIK-Linux) initial release notes.
My original intent was to have this package dependency-free, but as you can see, I did have to include Cygwin. Initially just for mkbootimg since the huaixzk standalone version wouldn’t work (it wasn’t loading the kernel as binary, thanks trevd); then I discovered that using the GNUWin32 cpio to unpack somehow didn’t play nice with repacking the ramdisk in a usable state, so at that point I decided I might as well go Cygwin across the board. As it is, I’ve included the latest Cygwin-dependent executables and required libraries from their repos and built my own custom Cygwin image and ramdisk utilities built from the latest sources.
Originally only for Google Pixel/Nexus/AOSP standard boot.img files, built-in support has now expanded to Android Verified Boot (AVBv1)/ChromeOS/SignBlob signed boot.img files, Barnes & Noble Nook “Green Loader” signed boot.img files, Samsung/Spreadtrum DHTB header signed boot.img files, the Samsung/Marvell PXA1088/1908 board boot.img variant (AOSP-PXA), Loki patched boot.img files, amonet patched boot.img files, Sony SIN signed/packaged kernel.elf extraction, Sony ELF kernel.elf files, Intel OSIP Android image files, DENX U-Boot uImage files, Rockchip KRNL signed ramdisk image files, MTK headers for zImage/ramdisk, and LG Bump/Samsung SEAndroid footers for boot.img.
The main advantage here is you don’t need Cygwin shell or PERL scripts. Other guides exist but none of them are universal for target device, compression and/or developed for Windows, Android ARM/x86/MIPS + ARM64/x86_64/MIPS64, and now macOS. With this universality in mind I’ve automated the whole process with batch/shell scripts.
My development work on my many projects comes out of my free time, so if you enjoy this project or anything else I’ve done on xda, please consider sponsoring my ongoing work using my GitHub Sponsors profile. For a one-time donation you can hit the donate link from my profile. Thank you for your support!
1) Unzip.
2) Either use the command-line “unpackimg “, or simply drag-and-drop the image. This will split the image and unpack the ramdisk to a subdirectory.
3) Alter the ramdisk as you like.
4) The repackimg batch script requires no input and simply recombines the previously split zImage with the newly packed modified ramdisk using all the original image information (which was also split and saved).
5) The cleanup batch script resets the folder to its initial state, removing the split_img+ramdisk directories and any new packed ramdisk or image files.
There are a few optional, advanced command-line arguments for repackimg: “–original”, which will cause it to repack using the original split ramdisk instead of repacking, this is useful for testing or trimming dumps; “–origsize”, which will cause it to repack then pad it to the size of the original image, this is useful for repacking dumps to then be fastboot flashed; “–level” with 1-9 and possibly 0 allows changing the compression level used to repack to more closely match the original; “–avbkey” with (optionally path and) a keyname allows changing from the default AOSP verity key; “–forceelf” to make an older unpacked Sony ELF file repack as an ELF.
All scripts also allow unpacking/repacking with the current directory instead of the AIK directory if “–local” is the first command-line argument.
Usage is similar for the Android and Linux versions, again, just review the release notes for them.
Hopefully this is some help to someone. It’s been extremely useful for me in my messing around with kernel ramdisks, which is why I created it in the first place.
Enjoy!
Questions, comments and feedback welcome.
Credits & Thanks: All authors of the included binaries and libraries for their amazing work, as linked (or linked via GitHub) above. Peteragent5, alansj & iridaki for the general methods used in their PERL scripts and Linux guides. SuperR. & tobias.waldvogel for the general methods used in their kernel.elf unpacking scripts. _that and rayman for the general methods used to repack a working boot.blob. Chainfire for the ChromeOS and SEAndroid general methods. cybojenix for the Bump general method. xyz` & k4y0z for the amonet general method.
Thanks to Goatshocker for testing out things for the HTC image issues, leading to the workaround and subsequent fix, avinashrocks1990 & tajimura for testing out compression support and the large pagesize fix, civato for testing out dtb support, talich for testing out the Linux version, shoey63 for testing out Linux + ELF support, moonbutt74 for testing out Android-x86 support, nathanchance for testing out the new AIK-mobile cpio method on his Pixel 2, leading to important fixes for its support, and shakalaca for the great help with completing and testing Intel OSIP support. Huge thank you to trevd and Modding.MyMind/SHM for all the contributing work they’ve each done and support they’ve provided.
Disclaimer: Naturally, you take all the responsibility for what happens to your device when you start messing around with things.
Download counts:
AIK – v1.0: 1540; +HTCFix: 430. v1.5: 4718. v1.6: 3556. v1.8: 8678; +Lok2Img: 1629. v1.9: 2580. v2.0: 22886. v2.2: 20522. v2.3: 14524. v2.4: 84432; +LokiAddon: 20071. v2.5: 5004. v2.6: 9354. v2.7: 5442. v2.8: 6639. v2.9: 7672. v3.0: 2810. v3.1: 6502. v3.2: 27104. v3.3: 17736. v3.4: 25988. v3.5: 19051.
Mobile – v1.0: 311. v1.1: 265. v1.2: 302. v1.3: 100. v1.4: 486. v1.5: 224. v1.6: 3303. v1.7: 7798. v1.8: 16286. v1.9: 3800. v2.0: 5444. v2.1: 2526. v2.2: 926. v2.3: 1346. v2.4: 18426. v2.5: 2586. v2.6: 6068. v2.7: 2936. v2.8: 3932. v2.9: 4181. v3.0: 1301. v3.1: 3300. v3.2: 3254. v3.3: 6824. v3.4: 10786. v3.5: 8624.
Linux – v1.0: 75. v1.1: 208. v1.2: 233. v1.3: 112. v1.4: 421. v1.5: 173. v1.6: 1838. v1.7: 2596. v1.8: 4818. v1.9: 604; +v1.9.1: 1068. v2.0: 1836. v2.1: 1240. v2.2: 466. v2.3: 522. v2.4: 8126. v2.5: 1052. v2.6: 2018. v2.7: 1248. v2.8: 2486. v2.9: 5057. v3.0: 1455. v3.1: 2957. v3.2: 14508. v3.3: 10046. v3.4: 16294. v3.5: 12651.
XDA:DevDB Information
Android Image Kitchen, Tool/Utility for the Android General
Version Information
Status: Stable
Current Stable Version: 3.6
Stable Release Date: 2019-09-22
Created 2013-11-13
Last Updated 2020-05-21
AIK should be universal for devices that accept Android, ELF, OSIP, U-Boot and KRNL format images in theory, but there is always a chance it doesn’t work for your device due to image packing differences, etc. Here is a running list of confirmed working and questionably/confirmed not working devices. If your device isn’t in either list odds are that it will still work fine.
Known Working Devices
Amazon Fire HD 10
Asus Nexus 7 (2012, 2013)
Asus Transformer Pad
Asus Zenfone (2, 5)
Auchan QiLive (Q5, Q7)
Barnes & Noble Nook ( , HD+, 7)
BQ Aquaris M8
Coolpad Catalyst
Essential PH-1
Google Pixel (C, , XL, 2, 2 XL, 3, 3 XL, 3a, 3a XL, 4, 4 XL)
Huawei Ascend Y300
Huawei Mate 8
Huawei Nexus 6P
Huawei U8800 Ideos X5
HTC Nexus 9
HTC One (M7, M8, S, X)
HTC Vivid/Raider 4G
HP Slate 21
LeEco Le Pro3
Lenovo A706
Lenovo K900
Lenovo Vibe K5
LG G(2, 2 Mini, 3, 3 Stylus, 5)
LG GPad (7.0, 8.3, X 8.0)
LG Nexus (4, 5, 5X)
LG Optimus (3D, 4X HD)
LG Stylo 3 Plus
LG V(10, 20)
Micromax Ninja/Bolt A27
Motorola Moto G (2013, 2014)
Motorola Moto X 2014
Motorola Nexus 6
Nextbit Robin
OnePlus (One, 2, X, 3, 3T, 5, 5T, 6, 6T, 7, 7 Pro, 7T, 7T Pro)
Pantech Vega Iron
Pantech Vega Secret Note
Samsung Galaxy A3 2016
Samsung Galaxy Ace II X
Samsung Galaxy Core Mini 4G
Samsung Galaxy Mega
Samsung Galaxy Nexus
Samsung Galaxy Note (2, 3, 4, Pro 12.2)
Samsung Galaxy S(3, 3 Mini, 4, 5)
Samsung Galaxy Star
Samsung Galaxy Tab (2 7.0, 3 10.1, 4 7.0, 4 8.0, 4 10.1, A 7.0, A 10.1, Pro 8.4)
Samsung Galaxy Victory
Samsung Galaxy Xcover 3
Samsung Nexus 10
Sony Xperia (Arc S, M, Neo, Neo V, SP, Tab Z4, Z, Z1, Z5)
Spice Mi-355 Stellar Craze
Vodafone Smart Ultra 6
Xiaomi Mi Pad
Xiaomi Redmi (6A, Note 3 Pro)
Confirmed Not Working Devices
- Blackview BV4000 – some newer MediaTek (MTK) devices use special image signing that adds a “BFBF” pre-header signature. While present on multiple MTK devices, it only appears to be enforced by the bootloader on some. See this post.
- HTC Desire 326G, Huawei Honor Bee, Huawei MediaPad T1 7.0 – some newer Spreadtrum devices use special image signing that adds a “SPRD-SECUREFLAG” pre-header signature, so images will unpack/repack but most likely won’t boot unless run through their internal signing tool. See this post.
- Nibiru V05-A – some RockChip (RK) devices use a variant of the AOSP image format with extra checksums and hidden sections with extra data. There is not currently an open source tool that can handle repacking these. See this post.
- Samsung Galaxy S (Advance, Captivate, Vibrant), Samsung Galaxy S2, Samsung Galaxy Note & Samsung Galaxy Tab – contain zImage + ramdisk (possibly within the zImage) but are the “headerless” Linux kernel blob format and require a full cross-compiler to repack correctly. See this post.
- Samsung [various] – the image and SEANDROIDENFORCE footer are followed by a signature that, while present on many Samsung devices, only appears to be enforced by the bootloader on some. See this post.
- Skyworth 50G2A TV – some newer MediaTek (MTK) devices use special image part signing that adds a 256-byte checksum/signature to both Image.gz-dtb/zImage-dtb and ramdisk.cpio.gz, so images will unpack/repack but most likely won’t boot unless run through their internal signing tool. See this post.
- Xiaomi Mi Box 3S – some newer Amlogic devices use special image signing that adds an “AMLSECU!” signature within the header and appears to encrypt the ramdisk, so the image itself will unpack/repack but cannot be re-signed, and the ramdisk cannot be unpacked or modified.
Note: For devices requiring Loki patched images (e.g. LG G2, AT&T Samsung Galaxy S4), your device’s aboot.img dump must be in the script directory to Re-Loki. (Thank you to jeboo for the original one-way Lok2Img Workaround’s binary source, used prior to the official Loki Tool gaining un-Loki support).
Windows:
v1.0 – Dec 30, 2012 – Initial release.
v1.5 – May 6, 2013 – Linked.
v1.6 – Sep 16, 2013 – Linked.
v1.8 – Dec 9, 2013 – Linked.
v1.9 – Jun 7, 2014 – Linked.
v2.0 – Aug 3, 2014 – Linked.
v2.2 – Mar 25, 2015 – Linked.
v2.3 – Oct 11, 2015 – Linked.
v2.4 – Feb 8, 2016 – Linked.
v2.5 – Jan 26, 2017 – Linked.
v2.6 – Feb 27, 2017 – Linked.
v2.7 – May 1, 2017 – Linked.
v2.8 – Jun 5, 2017 – Linked.
v2.9 – Sep 14, 2017 – Linked.
v3.0 – Dec 14, 2017 – Linked.
v3.1 – Jan 7, 2018 – Linked.
v3.2 – Mar 19, 2018 – Linked.
v3.3 – Jul 23, 2018 – Linked.
v3.4 – Oct 28, 2018 – Linked.
v3.5 – Apr 17, 2019 – Linked.
v3.6 – Sep 22, 2019 – Linked.
Android:
v1.0 – Mar 23, 2014 – Linked. (ARM only)
v1.1 – Apr 19, 2014 – Linked. (ARM only)
v1.2 – May 15, 2014 – Linked. (ARM only)
v1.3 – Jun 7, 2014 – Linked. (ARM, x86 with emulation)
v1.4 – Jun 17, 2014 – Linked. (ARM, x86 with emulation)
v1.5 – Aug 3, 2014 – Linked. (32bit, x64 with emulation)
v1.6 – Aug 19, 2014 – Linked. (32bit, x64 with emulation)
v1.7 – Dec 26, 2014 – Linked. (32bit, x64 with emulation)
v1.8 – Mar 25, 2015 – Linked. (32bit, x64 with emulation)
v1.9 – Oct 11, 2015 – Linked. (32bit, x64 with emulation)
v2.0 – Dec 7, 2015 – Linked.
v2.1 – Feb 8, 2016 – Linked.
v2.2 – Mar 16, 2016 – Linked.
v2.3 – Apr 1, 2016 – Linked.
v2.4 – Apr 20, 2016 – Linked.
v2.5 – Jan 26, 2017 – Linked.
v2.6 – Feb 27, 2017 – Linked.
v2.7 – May 1, 2017 – Linked.
v2.8 – Jun 5, 2017 – Linked.
v2.9 – Sep 14, 2017 – Linked.
v3.0 – Dec 14, 2017 – Linked.
v3.1 – Jan 7, 2018 – Linked.
v3.2 – Mar 19, 2018 – Linked.
v3.3 – Jul 23, 2018 – Linked.
v3.4 – Oct 28, 2018 – Linked.
v3.5 – Apr 17, 2019 – Linked.
v3.6 – Sep 22, 2019 – Linked.
Everyone please let me know if AIK works for your devices or if you encounter any problems, so I can make these lists more comprehensive.
If you are reporting a problem with your device, please clearly state your device name and model/variant as well as provide a link to the image file.
SimpleBlog
Поиск по этому блогу
Как извлечь APK файлы с IMG (Разбираем прошивку Android)
- Получить ссылку
- Электронная почта
- Другие приложения
Статья обновилась и теперь доступна и в видео формате.
Также она переехала на новый сайт: Как извлечь APK файлы с IMG.
На этом сайте статья устарела,
новую версию можно найти здесь: Как извлечь APK файлы с IMG.
Всем привет. Довольно недавно я столкнулся с проблемой на своем новом телефоне, для решения которой мне нужно было достать из прошивки некоторые APK файлы. Поискав в интернете способы решения этой проблемы, я наткнулся на на одну интересную утилиту, которая мне помогла решить эту проблему.
Разбираем прошивку Android
- Распаковываем *.zip архив с прошивкой в любую папку.
- Запускаем утилиту ext4_unpacker.exe и выбираем файл system.img.
- Получить ссылку
- Электронная почта
- Другие приложения
Комментарии
Кратко и по делу. Спасибо
Наконец-то всё просто получилось! Спасибо!
Не могу открыть, пишет unknown file format
Могу записать видео, с более подробным объяснением)
Такая же фигня не открывает и пишет неизвестный формат.
не работает и вообще прога глючит винд7
Ошибка . Пишет: Unknown file format . Что делать ?Помогите пожалуйста.
6-7 андроид не открывает
Отправить комментарий
Популярные сообщения
Интерполяция методом Ньютона
Интерполяция, интерполирование — в вычислительной математике способ нахождения промежуточных значений величины по имеющемуся дискретному набору известных значений.
Многим из тех, кто сталкивается с научными и инженерными расчётами, часто приходится оперировать наборами значений, полученных опытным путём или методом случайной выборки. Как правило, на основании этих наборов требуется построить функцию, на которую могли бы с высокой точностью попадать другие получаемые значения. Такая задача называется аппроксимацией. Интерполяцией называют такую разновидность аппроксимации, при которой кривая построенной функции проходит точно через имеющиеся точки данных.
Существует много конечно-разностных методов интерполяции. Наиболее
распространенным является метод Ньютона для интерполяции «вперед» (метод Ньютона – Грегори). Интерполяционный полином в этом случае имеет вид:
Коэффициенты С находим по формуле:
Реализация программы на языке C#:
using System; namespace Interpolation < class Program…
Визуализация алгоритмов cортировки
Пожалуй, нет программиста, который никогда не писал программы реализации алгоритма сортировки. Во всех ВУЗах алгоритмы сортировки включены в базовый курс программирования, так как это один из первых шагов в мир алгоритмизации.
В этой статье я хочу поделиться одним из своих проектов, который я написал учась на втором курсе в университете. Это была курсовая работа моего друга на которую было очень мало времени, поэтому в программе все сделано максимально просто. Программа представляет собой графическую визуализацию трех простых алгоритмов сортировки (пузырьковая сортировка, сортировка вставками и смешиванием).
Изображение интерфейса программы во время работы:
Программа разделена на два потока в одном из которых выполняется сортировка, а в другом перерисовка графического интерфейса. После нажатия на кнопку «Сортировать», в программе вызывается метод «RunSorting», в котором определяется алгоритм сортировки и создается новый поток с запущенным в нем процессом сортировки.
private void RunSo…
Что такое CORS и как его использовать
Быстрое создание загрузочной флешки с Windows
Для создания загрузочных флешек в интернете есть довольно много разных утилит, но результат их использования всегда один и тот же – загрузочная флешка. Поэтому достаточно одной простой утилиты, которой я сам пользуюсь:
rufus-2.17.zip [СКАЧАТЬ]
Все очень просто:
1. Распаковываем архив и запускаем версию без установки:
2. Выбираем диск для установки (нашу флешку):
3. Для ПК или ноутбуков с BIOS выбираем первый пункт, есле же у вас новая машина с UEFI, тогда вибираем GPT . for UEFI.
4. Дальше выбираем образ ОС в формате ISO:
5. Ну и наконец, нажимаем Start:
6. Соглашаемся с тем, что все данные с флешки будут удалены. (Флешка будет форматирована, поэтому все важные файлы скопируйте куда-нибудь).
7. Дальше идет процесс создания загрузочной флешки (приблизительно 20 мин). После окончания жмем “Close”.
Портирование прошивок с утройства на устройство с процессором MT657x
Внимание! Инструкция понятная и рабочая(сам ей пользуюсь).Нужна для телефонов с процессором MT657x, как правило китайских.
Для одних смартов есть кастом, а для других только сток и это не справедливо, но если делать всё по инструкции, то кастом будет у всех.Хорошая инструкция нужна для «красных»телефонов.Инструкцию нашёл чудом.
Отдельная благодарность Bobs’у, что разрешил разместить это.
Портирование прошивок для устройств с процессором MT657x
Нельзя портировать прошивки, например с MT6575 на MT6577. И базовая, и стоковая прошивка должны быть для одного процессора.
Обе прошивки должны быть одной версии ОС
Инструкцию написал пользователь back37 с форума forum.china-iphone.ru.
Предварительно прочитайте полностью.
Берем рабочую прошивку для своего устройства (БАЗА);
Берем портируемую прошивку для CWM (ПОРТ).
В ПОРТ c заменой скидываем папки из БАЗЫ :
Идем в META-INF/com/google/android ПОРТА, открываем updater-script.
Если есть строки:
дописываем их в конец скрипта.
Прошивка получится в папке ПОРТА. Теперь все это нужно запаковать с обычным сжатием в zip (Если вы распаковывали). И обязательно подписать signscript’ом(скачать под топиком).
Прошиваем. Если висит на лого больше 10 минут, уже не загрузится. Надо править boot.img, а именно распаковать оба бута и скинуть папку rmdisk из ПОРТА в БАЗУ с заменой. Распаковать/Запаковать boot.img можно этой программой. Получившийся бут (если название new_image.img, переименуйте на boot.img) засунуть в архив с прошивкой и опять подписать.
Если в вашей прошивке после портирования что-то не работает, не факт, что после манипуляций, приведенных ниже, это будет работать. Но попробовать стоит .
Здесь написано, какие файлики отвечают за работу разных модулей(GPS, Bluetooth, Wi-Fi, радио и т.д.) Попробуйте позаменять их тоже.
Не работает GSM, 3G — меняем папку /system/etc/firmware;
Не работает Wi-Fi — меняем файлы /system/bin/p2p_supplicant; /system/bin/wpa_supplicant.
Не работает камера — меняем /system/lib/libcameracustom.so
Проблемы со звуком — меняем /system/lib/libaudiosetting.so
Не работает радио — заменяем system/lib/libaudiosetting.so и libfmcust.so
Слышны хрипы/звуковые артефакты заменяем system/lib/soundfx
Не работают аппаратные клавиши меняем папку system/usr/keylayout
Также, кто умеет собиратьразбирать ядра пишите в комменты, либо название прог по разборкесборке ядер.
Announcement
Android system image Re-Packer Tool (windows 64 bit)
First of all:
The mainly tool was developed by
A.S._id( xda ) and ” And_Pda” ( 4pda.ru )
I’m just a little bit improve to make it easier to use.
Download tool from here :
- Join Date: Mar 2015
- Posts: 254
Comment
- Join Date: Nov 2013
- Posts: 266
Comment
- Join Date: Mar 2015
- Posts: 254
Comment
- Join Date: Nov 2013
- Posts: 266
Comment
- Join Date: Mar 2015
- Posts: 254
Comment
- Join Date: Nov 2013
- Posts: 266
Comment
- Join Date: Mar 2015
- Posts: 254
Comment
- Join Date: Nov 2013
- Posts: 266
Comment
- Join Date: Nov 2013
- Posts: 266
A pack process of MTwintool_v1.0 is pack a system folder to ext2 first,then they convert to ext4 again.
However, this scrrip is contain a “file size calculating logic”.
It is very useful to improve my batch scrip.
Comment
- Join Date: Nov 2013
- Posts: 266
Alternate way to dump partitions of non-root device by TWRP
Prepare a free space of sdcard ,then boot to TWRP
and follow this step.
after reboot, rename a dump file by enter a file-name extension ” .img ”
Comment
- Join Date: Nov 2013
- Posts: 266
Dump or restote partition image by TWRP terminal command
Boot device to twrp
Select terminal command (text mode)
Check partition path with cat /proc/emmc
(press spacebar 1 time between cat and /proc/emmc
if this command not work , try again with this
” cat /proc/mtd “)
Flash boot partition with this command
dd if=/sdard/boot.img of=/dev/block/mmcblk0p7
Flash system partition with this command
dd if=/sdard/system.img of=/dev/block/mmcblk0p18
see this, for clear about dd command