我还没有尝试过任何尝试，因为如何在Snapdragon设备上实现这一目标似乎非常稀疏 - 甚至可能？我在Mediatek设备上进行了重新分区，在那里这样做涉及手工编辑MBR样的分区表并使用问题65781 的答案/建议，并且他们都不有助于我的问题。< / p>
Over a month ago, LineageOS rolled out Oreo (I think) update for the Nexus 4 (mako), but there's a catch - the system now takes up so much space, that even the nano version of open-gapps package can no longer be installed without manually removing application in-between the installations. I thought, rather than shooting down apps from default LineageOS, I would rather bump the system partition's size by another 200 MiB.
I haven't attempted anything yet, as information how to achieve this on a snapdragon device seems to be very sparse - is it even possible? I've done repartitioning on a Mediatek device, where doing so involved hand-editing an MBR-like partition table and uploading it to the device using SP-flashtool. Is there a similar, or perhaps an easier-to-use tool for Snapdragon devices?
P.S. - I've read the answers/suggestions to question 65781, and none of them are helpful to my question.
As mentioned above, the Nexus 4 uses plain GPT on its storage to split it up into partitions. Any tool able to modify GPT should work. By far the biggest problem for me was getting an appropriate tool - the
fdisk bundled with TWRP can only list partitions on a GPT disk, without making any changes. I prefer not to use
parted (available from Termux), due to its inability to display/modify partition GUIDs (may have changed since the last time I checked).
Looking back, it may be possible to dump the entire storage to a computer, make changes there, and put the whole thing back, but I specifically wanted to avoid writing over critical partitions (loaders, kernel, etc.), so I set out to get
gdisk for android.
I eventually found this thread, where the author prepared an archive with
gdisk and a few other tools.
The relevant partitions (
userdata) are 21st and 23rd on the storage. The 22nd partition is just
cache, so there's no harm nuking it, and making a new one after data from the other 2 are in place.
The TL;DR version of the procedure is:
pull the data partition to computer
[PC] adb pull /dev/block/mmcblk0p23 userdata.img
put gdisk on the phone, and use it to modify the partition table - grow
system while retaining its starting sector, shrink
userdata by the same amount, and re-create
cache between them
[PC] adb push gdisk /tmp/ [adb-shell] /tmp/gdisk /dev/block/mmcblk0 ...
resize2fs on the phone with the
system partition to grow it
resize2fson the computer with the
userdatapartition's image to shrink it to appropriate size
push the modified
data image to the phone
[PC] adb push userdata.img /dev/block/mmcblk0p23
format the cache partition, reboot into system