chenxiaolong / dualbootpatcher Goto Github PK
View Code? Open in Web Editor NEWPatches Android ROMs for dual boot support
Home Page: https://dbp.noobdev.io
License: Other
Patches Android ROMs for dual boot support
Home Page: https://dbp.noobdev.io
License: Other
As the title says...
want to build a debug version .
prebuilt-libmblog is using a horribly ugly ndk-build hack that will probably break in the future!
Android NDK: ERROR:/home/nikan/DualBootPatcher/build/thirdparty/Android.mk:procps-ng: LOCAL_SRC_FILES points to a missing file
Android NDK: Check that /home/nikan/DualBootPatcher/build/thirdparty/android/procps-ng/lib_armeabi-v7a/libprocps.a exists or that its path is correct
/home/nikan/android-ndk-r10d/build/core/prebuilt-library.mk:45: *** Android NDK: Aborting . Stop.
make[2]: *** [libmbp/mbp-shared-android-prefix/src/mbp-shared-android-stamp/mbp-shared-android-build] Error 2
make[1]: *** [libmbp/CMakeFiles/mbp-shared-android.dir/all] Error 2
make: *** [all] Error 2
checked this and doesnt exist
home/nikan/DualBootPatcher/build/thirdparty/android/procps-ng/lib_armeabi-v7a/libprocps.a
Here chenxiaolong you can find the logs:
https://www.dropbox.com/s/hdzdatghtjlbpi7/20160123.194308.tar
I think you need to add a option to user choose if him want to enable root acess, like part of make this app root-free, so if this option is enabled, disable the option to patch and flash to /system and /cache or related to root writing.
I do not know if you had already thought of that, but whatever is here :P
I would like to see this device supported please.
Motorola Moto E - XT1526 (surnia)
Partition | Location |
---|---|
boot | /dev/block/mmcblk0p33 |
cache | /dev/block/mmcblk0p42 |
recovery | /dev/block/mmcblk0p34 |
system | /dev/block/mmcblk0p41 |
userdata | /dev/block/mmcblk0p43 |
I have tried to translate to my language but the App only support part of all languages in the world, my language is pt-BR and the app only support pt-PT.
Idk how to do this, if not i already have opened a Pull Request :P
On devices with SD cards inserted, mbtool is logging symlink failure warnings:
...
<7>[ 2.368964] mbtool: event { action='add', path='/devices/msm_sdcc.3/mmc_host/mmc2/mmc2:59b4/block/mmcblk1/mmcblk1p1', subsystem='block', firmware='', name='mmcblk1p1', partname='(null)', partnum=1, major=179, minor=65 }
<7>[ 2.368999] mbtool: Found platform device msm_sdcc.3
<7>[ 2.369022] mbtool: Creating device /dev/block/mmcblk1p1
<7>[ 2.369033] mbtool: - Symlink /dev/block/platform/msm_sdcc.3/by-num/p1
<7>[ 2.369043] mbtool: - Symlink /dev/block/bootdevice/by-num/p1
<7>[ 2.369053] mbtool: - Symlink /dev/block/platform/msm_sdcc.3/mmcblk1p1
<3>[ 2.369210] mbtool: Failed to symlink /dev/block/mmcblk1p1 to /dev/block/bootdevice/by-num/p1: File exists
...
@chenxiaolong can u please skip the verification of cm.Verify_trustzone and ro.build.date.utc from in app recovery. it causes very hassles to users as they have to manually remove these lines to dualboot another rom
Thanking in Advance
@chenxiaolong please see after removing this lines roms gets flashed perfectly so please do something for these lines :)
run_program("/tmp/install/bin/otasigcheck.sh") != "31744" || abort("Can't install this package on top of incompatible data. Please try another package or run a factory reset");
It gives error 13 and wont patch zip file. OnePlus Bacon CM13.0 Android 6.0.1
Any workround?
Also see that device its supported but could not find specific thread for this device.
Hello dev :) there are many people waiting for this device :) and I tryed to port it , and I saw its really close to moto g 2013 xt1032 so I changed my build.prop and make it like its that phone , and I opened the app add the Zip , converted it , then i select set the kernel then i installed it , and it was successful then I set that secondary ROM and rebooted everything was fine , I installed the app for the secondary ROM and changed back to my primary ROM and it booted back to first ROM :D so everything is right , but after second time booting into secondary ROM com.android.phone started stopping every two seconds and I think its SQL related here's logcat
http://www.mediafire.com/view/69d91p9feccuq6x/Log_2016-01-26_02-39-24.txt
I hope it helps you
Remember moto g 2013 xt1032 is close to our device
I'm ready to help and being a tester
The installation go fast and i not unpack the system files.
Maybe because new LP/MM installation method.
I updated TWRP (branch 5.1) to new blockimg (version 3) since CM recovery use this, and force us to edit system.tranfer.list.
But backing to error, the files not is extracted but boo.img is flashed.
Here core of error:
using existing stash /cache/recovery/90366e4fa7117d6830dd04f8b09a7469550bb932/
not a block device; skipping erase
failed to execute command [erase 2,0,233984]
I tested the zip before and work.
Note: i can't patch files and update ramdisk in new versiin, i not tested with previous of this.
I had two problems that both resulted in error 15. This message doesn't really help and also the errors should have been different
First I used Solid Explorer to select the file which somehow messed up the filepath, adding /1/ to the beginning:
Patching file:
- Path: /1/storage/extSdCard/cm-12.1-20151223-NIGHTLY-trltexx.zip.zip
Not stopping: # of operations: 0, is bound: true
I used ES Explorer to select the file, but patching failed (error 15) because afaik Android >=5 doesn't allow access to the SDcard by default:
Patching file:
- Path: /storage/extSdCard/cm-12.1-20151223-NIGHTLY-trltexx.zip.zip
Not stopping: # of operations: 0, is bound: true
So I moved it to the internal card which finally worked.
I suggest displaying "Failure: Access denied $filename" and "Failure: File not found $filename" if something goes wrong.
@chenxiaolong i tried to compile this app after adding support to my device but after installing app on my phone it gets force closed can u tell is it a source issue or i am compiling it in wrong way :)
Please add the galaxy s5 exynos i know it is different than the qualcomm but i saw that the patcher works with the note 3 exynos can you please add it
Broken by commit 05d2f42. Not sure why it's broken yet. I can't get a usable kmsg log after mbtool exec'd /init.orig
.
Sorry for my bad English.
My phone can't connect with mbtool socket.
I give root access and I'm using 8.0.0.r2092.g0a5a4e1.
I can't using 'Patch Zip File' too. Maybe its associate with socket error.
device commit (slte) - 50580a5
device info logs : https://drive.google.com/file/d/0B70olIYdy7cYUTZRLTFyUTBKVXM/view?usp=sharing
patch-file.log : http://pastebin.com/5kWWMj3F
logcat : http://pastebin.com/QUtQ5XkJ
hello i added the s3 neo support to the app
but i cant compile it can you compile it and send it to me to test it please ?
my email : [email protected]
thanks in advanced
From @Caio99BR
Ps: before bump up, check loading icon of patch zip.
Ps2: organize the options of app, like "Interface", "Patcher", "etc, look more good than actual.
Ps4: the transitions can look more good, like Telegram (example), because the app is Material but have transitions of JB.
Ps5: put the three dot button more bigger, because is a sacrifice press it on a ldpi device.
Ps7: the last, since i need to stop with this things the app already is very good, fix rotation of about page in ldpi, i not can see the links, put a fake button in end of page, anything, you not can read all.
Hi Chen. It's me, Salman A, the guy with the Lenovo phone having a Mediatek processor. Here's the recovery.log I get when I try to install a system.new.dat ROM after editing the updater-script and replace the kernel lines with ones I used in /system/ ROMs on the last debug version you gave me. It seems a bit weird to me. P.S.: I'm copy-pasting since I couldn't find any way to attach it.. I'll upload it to some cloud storage if you want it.. recovery.log:
ui_print script result was [please reboot system now] please reboot system now
[E] Child exited: 0
[E] Running command: [ /sbin/sh, -i ]
sh: can't access tty; job control turned off / #
[E] [Installer] Filesystem unmounting stage
[E] Running command: [ /update-binary-tool, unmount, /system ]
[E] update-binary-tool: /system not mounted. Skipping
[E] Running command: [ /update-binary-tool, unmount, /cache ]
[E] update-binary-tool: Ignoring unmount command for /cache
[E] Running command: [ /update-binary-tool, unmount, /data ]
[E] update-binary-tool: Ignoring unmount command for /data
[E] Running command: [ e2fsck, -f, -y, /external_sd/multiboot/extsd-slot-1/system.img ]
[E] e2fsck: e2fsck 1.42.9 (28-Dec-2013)
[E] e2fsck: Pass 1: Checking inodes, blocks, and sizes
[E] e2fsck: Pass 2: Checking directory structure
[E] e2fsck: Pass 3: Checking directory connectivity
[E] e2fsck: Pass 4: Checking reference counts
[E] e2fsck: Pass 5: Checking group summary information
[E] e2fsck: /external_sd/multiboot/extsd-slot-1/system.img: 2771/163840 files (35.5% non-contiguous), 237527/655360 blocks
[E] [Installer] Finalization stage
[E] Old boot partition SHA1sum: 194ce4b84ffff8ccdf6e620b1a714e5858a55d18
[E] New boot partition SHA1sum: 4c24c5607eb715451f97d3d9bfb1ba34200be7c0
[MultiBoot] Boot partition was modified. Setting kernel
[E] Boot image is an mtk boot image
[E] Found Android boot image header at: 0
[E] - magic: ANDROID!
[E] - kernel_size: 6190726
[E] - kernel_addr: 0x40080000
[E] - ramdisk_size: 1797632
[E] - ramdisk_addr: 0x44000000
[E] - second_size: 0
[E] - second_addr: 0x40f78000
[E] - tags_addr: 0x4e000000
[E] - page_size: 2048
[E] - dt_size: 0
[E] - unused: 0x00000000
[E] - name: Bule
[E] - cmdline: bootopt=64S3,32N2,64N2 androidboot.selinux=permissive
[E] - id: 4570676a0c9cfcaa7f9c8a125d277c537e269ade000000000000000000000000
[E] MTK header:
[E] - magic: \x88\x16\x88X
[E] - size: 6190214
[E] - type: KERNEL
[E] - unused: \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff
[E] Creating mtk Android boot image
[E] Computed new ID hash: b765dd5f9e56a2c32ba5b958d783e4ae6a1b03d4
[E] [Installer] Cleanup stage
[E] Failed to unmount /chroot/system: Invalid argument
[MultiBoot] Destroying chroot environment
[E] Finished cleanup
I:Legacy property environment disabled.
Updating partition details...
I:Data backup size is 8157MB, free: 428MB.
I:Unable to mount '/usbotg'
I:Actual block device: '', current file system: 'auto' ...done
I:Set page: 'flash_done'
I:operation_end - status=0
I:Set page: 'clear_vars'
I:Set page: 'install'
I:Set page: 'main'
I:Set page: 'clear_vars'
I:Set page: 'main2'
I:Set page: 'advanced'
I:Set page: 'confirm_action'
I:Set page: 'action_page'
I:operation_start: 'Copy Log'
I:Copying file /tmp/recovery.log to /external_sd/recovery.log
Edited by @chenxiaolong to make log more readable
Hello,
When i try to enter the menu for patching zip file it browses the zip file instead of selecting it. The same thing happens when I try to go in the rom page and push the Add button. Every time it is supposed to select a zip file instead it enters it.
I think the JellyBean is common in most of actual devices, so why not support in the GUI?
I have tested only changing minimum sdk but this force close when enter in ROMs menu.
Steps to reproduce:
Hi, i would love to see this in my Moto E (condor), i have added /dev/block/mmcblk0p* paths for condor in patcherconfig.cpp. debug build builds fine without any error , but when i try to update ramdisk it says unable to update ramdisk here is the ramdisk log output http://pastebin.com/VHsLTvEn though the app is able to patch roms for condor but i cant see any rom in roms tab. I tried building release builds too but it always gave me this error http://pastebin.com/r6avDsrv a help will be appreciated.
Some SD cards are being detected by the kernel after mbtool searches for matching block devices. We'll need to implement some sort of waiting procedure, but without delaying the boot process when the SD card is not inserted.
See logs at: http://forum.xda-developers.com/showpost.php?p=64685469
Relevant section:
...
<7>[ 2.212640] mbtool: 1 fstab entries for the external SD
<3>[ 2.213096] mbtool: Failed to find block device corresponding to /devices/msm_sdcc.3/mmc_host/mmc2*
<3>[ 2.213426] mbtool: Failed to mount /raw/extsd/multiboot/extsd-slot-bliss6/system.img: No such file or directory
<3>[ 2.213466] mbtool: Failed to mount fstab
<7>[ 2.365832] mbtool: event { action='add', path='/devices/msm_sdcc.3/mmc_host/mmc2/mmc2:59b4', subsystem='mmc', firmware='', name='(null)', partname='(null)', partnum=-1, major=-1, minor=-1 }
<6>[ 2.365864] [mmc_blk_probe]mmcblk1: mmc2:59b4 00000 119 GiB , card->type:1
<7>[ 2.366032] mbtool: event { action='add', path='/devices/virtual/bdi/179:64', subsystem='bdi', firmware='', name='(null)', partname='(null)', partnum=-1, major=-1, minor=-1 }
<6>[ 2.367893] mmcblk1: p1
<4>[ 2.368032] mbtool: Unknown message: 'DEVTYPE=disk'
<4>[ 2.368045] mbtool: Unknown message: 'NPARTS=1'
<4>[ 2.368055] mbtool: Unknown message: 'SEQNUM=4291'
<7>[ 2.368072] mbtool: event { action='add', path='/devices/msm_sdcc.3/mmc_host/mmc2/mmc2:59b4/block/mmcblk1', subsystem='block', firmware='', name='mmcblk1', partname='(null)', partnum=-1, major=179, minor=64 }
<7>[ 2.368120] mbtool: Found platform device msm_sdcc.3
<7>[ 2.368162] mbtool: Creating device /dev/block/mmcblk1
<7>[ 2.368173] mbtool: - Symlink /dev/block/platform/msm_sdcc.3/mmcblk1
<4>[ 2.368934] mbtool: Unknown message: 'DEVTYPE=partition'
<4>[ 2.368946] mbtool: Unknown message: 'SEQNUM=4292'
<7>[ 2.368964] mbtool: event { action='add', path='/devices/msm_sdcc.3/mmc_host/mmc2/mmc2:59b4/block/mmcblk1/mmcblk1p1', subsystem='block', firmware='', name='mmcblk1p1', partname='(null)', partnum=1, major=179, minor=65 }
<7>[ 2.368999] mbtool: Found platform device msm_sdcc.3
<7>[ 2.369022] mbtool: Creating device /dev/block/mmcblk1p1
<7>[ 2.369033] mbtool: - Symlink /dev/block/platform/msm_sdcc.3/by-num/p1
<7>[ 2.369043] mbtool: - Symlink /dev/block/bootdevice/by-num/p1
<7>[ 2.369053] mbtool: - Symlink /dev/block/platform/msm_sdcc.3/mmcblk1p1
<3>[ 2.369210] mbtool: Failed to symlink /dev/block/mmcblk1p1 to /dev/block/bootdevice/by-num/p1: File exists
...
The invalid symlinking of SD card partitions to /dev/block/bootdevice/
should also be fixed. (Issue #37 )
I have read the thread http://forum.xda-developers.com/galaxy-s5/general/dual-boot-t2841957/post60078398#post60078398 and found that the issue "device's codename is not recognized" can be fix with adding codename to patcherconfig.cpp. Would you mind add two codename "hlteskt" and "hltektt" (Samsung SM-N900K) to hlte codenames ? Thank you.
Please add support for Xperia Z1
userdata -> /dev/block/mmcblk0p25
system -> /dev/block/mmcblk0p23
boot -> /dev/block/mmcblk0p14
cache -> /dev/block/mmcblk0p24
We'll need an additional RPC call in the mbtool daemon for updating the checksums.
PatcherService
and SwitcherService
are being restarted by the very alarm that tries to shut them down after 10 seconds of idle time (d'oh!)
...
01-09 01:12:33.734 2059 2059 D SwitcherService: onCreate()
01-09 01:12:33.734 2059 2059 D SwitcherService: Scheduling delayed exit after 10000ms
01-09 01:12:33.735 2059 2059 D SwitcherService: onStartCommand(intent=Intent { act=com.github.chenxiaolong.dualbootpatcher.switcher.SwitcherService.exit flg=0x4 cmp=com.github.chenxiaolong.dualbootpatcher.snapshot/com.github.chenxiaolong.dualbootpatcher.switcher.SwitcherService (has extras) }, flags=0, startId=1)
01-09 01:12:33.735 2059 2059 D SwitcherService: Attempting to stop service
01-09 01:12:33.735 2059 2059 D SwitcherService: Calling stopSelf(): there are no more operations
01-09 01:12:33.737 2059 2059 D PatcherService: onDestroy()
01-09 01:12:33.737 2059 2059 D SwitcherService: onDestroy()
01-09 01:12:43.757 2059 2059 D PatcherService: onCreate()
01-09 01:12:43.760 2059 2059 D PatcherService: Scheduling delayed exit after 10000ms
01-09 01:12:43.763 2059 2059 D PatcherService: onStartCommand(intent=Intent { act=com.github.chenxiaolong.dualbootpatcher.patcher.PatcherService.exit flg=0x4 cmp=com.github.chenxiaolong.dualbootpatcher.snapshot/com.github.chenxiaolong.dualbootpatcher.patcher.PatcherService (has extras) }, flags=0, startId=1)
01-09 01:12:43.763 2059 2059 D PatcherService: Attempting to stop service
01-09 01:12:43.763 2059 2059 D PatcherService: Calling stopSelf(): there are no more operations
01-09 01:12:43.765 2059 2059 D PatcherService: onDestroy()
01-09 01:12:43.776 2059 2059 D SwitcherService: onCreate()
01-09 01:12:43.777 2059 2059 D SwitcherService: Scheduling delayed exit after 10000ms
01-09 01:12:43.779 2059 2059 D SwitcherService: onStartCommand(intent=Intent { act=com.github.chenxiaolong.dualbootpatcher.switcher.SwitcherService.exit flg=0x4 cmp=com.github.chenxiaolong.dualbootpatcher.snapshot/com.github.chenxiaolong.dualbootpatcher.switcher.SwitcherService (has extras) }, flags=0, startId=1)
01-09 01:12:43.779 2059 2059 D SwitcherService: Attempting to stop service
01-09 01:12:43.779 2059 2059 D SwitcherService: Calling stopSelf(): there are no more operations
01-09 01:12:43.780 2059 2059 D SwitcherService: onDestroy()
01-09 01:12:53.795 2059 2059 D PatcherService: onCreate()
01-09 01:12:53.806 2059 2059 D PatcherService: Scheduling delayed exit after 10000ms
01-09 01:12:53.819 2059 2059 D PatcherService: onStartCommand(intent=Intent { act=com.github.chenxiaolong.dualbootpatcher.patcher.PatcherService.exit flg=0x4 cmp=com.github.chenxiaolong.dualbootpatcher.snapshot/com.github.chenxiaolong.dualbootpatcher.patcher.PatcherService (has extras) }, flags=0, startId=1)
01-09 01:12:53.819 2059 2059 D PatcherService: Attempting to stop service
01-09 01:12:53.819 2059 2059 D PatcherService: Calling stopSelf(): there are no more operations
01-09 01:12:53.825 2059 2059 D SwitcherService: onCreate()
01-09 01:12:53.826 2059 2059 D SwitcherService: Scheduling delayed exit after 10000ms
01-09 01:12:53.827 2059 2059 D SwitcherService: onStartCommand(intent=Intent { act=com.github.chenxiaolong.dualbootpatcher.switcher.SwitcherService.exit flg=0x4 cmp=com.github.chenxiaolong.dualbootpatcher.snapshot/com.github.chenxiaolong.dualbootpatcher.switcher.SwitcherService (has extras) }, flags=0, startId=1)
01-09 01:12:53.827 2059 2059 D SwitcherService: Attempting to stop service
01-09 01:12:53.827 2059 2059 D SwitcherService: Calling stopSelf(): there are no more operations
01-09 01:12:53.828 2059 2059 D PatcherService: onDestroy()
01-09 01:12:53.828 2059 2059 D SwitcherService: onDestroy()
...
Following from discussion in issue #27.
Is it possible to change Dualbootpatcher to use first Partition on external SDcard? as if you have 2 partitions on your external SDcard: 1st = fat32, 2nd (last) = EXT4, dualbootpatcher will use EXT4 instead of the fat32 partition and when you boot into recovery you will not see the EXTSD slots. I am using the EXT4 for app2sd to expand my memory to install apps, and is mapped to /raw/extsd and dualbootpatcher is using the same thing.
Hi please add our device I can be tester any time , my telegram I'd : @ImtheMR
When I flash utilities in recovery it thinks my device is klte when it is k3g
You yuphoria is not listed in the supported devices. Kindly add official support.
Hey,
is it possible that you can add support for the Asus ME173X too?
It's an MTK Device running on the MT8125. Here is the output tar of the getlogs zip:
https://www.dropbox.com/s/d8nic1ewxy37dcx/20160104.092238%5B1%5D.tar?dl=0
Thx
PS: Running great on my Tab S 8.4 LTE
If the updater-script have some lines relative to firmware check partition it will fail the installation.
It cannot detect the firmware partition corrected so it will fail the installation and stop when flashing.
Hi,
I get the following error when building the apk from sources on Ubuntu 14.04 LTS using openjdk:
FAILURE: Build failed with an exception.
What went wrong:
A problem occurred configuring root project 'Android_GUI'.
Could not resolve all dependencies for configuration ':_ciCompile'.
Could not resolve com.github.afollestad.material-dialogs:core:0.8.5.6.
Required by:
:Android_GUI:unspecified
Could not resolve com.github.afollestad.material-dialogs:core:0.8.5.6.
> Could not get resource 'https://jitpack.io/com/github/afollestad/material-dialogs/core/0.8.5.6/core-0.8.5.6.pom'.
> Could not GET 'https://jitpack.io/com/github/afollestad/material-dialogs/core/0.8.5.6/core-0.8.5.6.pom'.
> peer not authenticated
Could not resolve com.github.afollestad.material-dialogs:commons:0.8.5.6.
Required by:
:Android_GUI:unspecified
Could not resolve com.github.afollestad.material-dialogs:commons:0.8.5.6.
> Could not get resource 'https://jitpack.io/com/github/afollestad/material-dialogs/commons/0.8.5.6/commons-0.8.5.6.pom'.
> Could not GET 'https://jitpack.io/com/github/afollestad/material-dialogs/commons/0.8.5.6/commons-0.8.5.6.pom'.
> peer not authenticated
Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 12.637 secs
Anyone knows a fix for that?
I am trying to bring up DualBootPatcher for ferrari (mi 4i), and am currently facing issues with the secondary ROM.
I have followed the following steps:
herein i attach parts of logcat which i think are relevant:
E/SQLiteDatabase( 1696): Failed to open database '/data/data/com.android.providers.telephony/databases/HbpcdLookup.db'.
E/SQLiteDatabase( 1696): android.database.sqlite.SQLiteException: not an error (code 0): Could not open the database in read/write mode.
E/SQLiteDatabase( 1696): at android.database.sqlite.SQLiteConnection.nativeOpen(Native Method)
E/SQLiteDatabase( 1696): at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:209)
E/SQLiteDatabase( 1696): at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:193)
E/SQLiteDatabase( 1696): at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:463)
E/SQLiteDatabase( 1696): at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:185)
E/SQLiteDatabase( 1696): at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:177)
E/SQLiteDatabase( 1696): at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:806)
E/SQLiteDatabase( 1696): at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:791)
E/SQLiteDatabase( 1696): at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:694)
E/SQLiteDatabase( 1696): at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:1179)
E/SQLiteDatabase( 1696): at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:223)
E/SQLiteDatabase( 1696): at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:187)
E/SQLiteDatabase( 1696): at com.android.providers.telephony.HbpcdLookupProvider.onCreate(HbpcdLookupProvider.java:155)
E/SQLiteDatabase( 1696): at android.content.ContentProvider.attachInfo(ContentProvider.java:1730)
E/SQLiteDatabase( 1696): at android.content.ContentProvider.attachInfo(ContentProvider.java:1705)
E/SQLiteDatabase( 1696): at android.app.ActivityThread.installProvider(ActivityThread.java:5039)
E/SQLiteDatabase( 1696): at android.app.ActivityThread.installContentProviders(ActivityThread.java:4634)
E/SQLiteDatabase( 1696): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4574)
E/SQLiteDatabase( 1696): at android.app.ActivityThread.access$1600(ActivityThread.java:154)
E/SQLiteDatabase( 1696): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1382)
E/SQLiteDatabase( 1696): at android.os.Handler.dispatchMessage(Handler.java:102)
E/SQLiteDatabase( 1696): at android.os.Looper.loop(Looper.java:135)
E/SQLiteDatabase( 1696): at android.app.ActivityThread.main(ActivityThread.java:5294)
E/SQLiteDatabase( 1696): at java.lang.reflect.Method.invoke(Native Method)
E/SQLiteDatabase( 1696): at java.lang.reflect.Method.invoke(Method.java:372)
E/SQLiteDatabase( 1696): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
E/SQLiteDatabase( 1696): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)
E/SQLiteOpenHelper( 1696): Couldn't open HbpcdLookup.db for writing (will try read-only):
E/SQLiteOpenHelper( 1696): android.database.sqlite.SQLiteException: not an error (code 0): Could not open the database in read/write mode.
E/SQLiteOpenHelper( 1696): at android.database.sqlite.SQLiteConnection.nativeOpen(Native Method)
E/SQLiteOpenHelper( 1696): at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:209)
E/SQLiteOpenHelper( 1696): at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:193)
E/SQLiteOpenHelper( 1696): at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:463)
E/SQLiteOpenHelper( 1696): at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:185)
E/SQLiteOpenHelper( 1696): at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:177)
E/SQLiteOpenHelper( 1696): at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:806)
E/SQLiteOpenHelper( 1696): at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:791)
E/SQLiteOpenHelper( 1696): at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:694)
E/SQLiteOpenHelper( 1696): at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:1179)
E/SQLiteOpenHelper( 1696): at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:223)
E/SQLiteOpenHelper( 1696): at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:187)
E/SQLiteOpenHelper( 1696): at com.android.providers.telephony.HbpcdLookupProvider.onCreate(HbpcdLookupProvider.java:155)
E/SQLiteOpenHelper( 1696): at android.content.ContentProvider.attachInfo(ContentProvider.java:1730)
E/SQLiteOpenHelper( 1696): at android.content.ContentProvider.attachInfo(ContentProvider.java:1705)
E/SQLiteOpenHelper( 1696): at android.app.ActivityThread.installProvider(ActivityThread.java:5039)
E/SQLiteOpenHelper( 1696): at android.app.ActivityThread.installContentProviders(ActivityThread.java:4634)
E/SQLiteOpenHelper( 1696): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4574)
E/SQLiteOpenHelper( 1696): at android.app.ActivityThread.access$1600(ActivityThread.java:154)
E/SQLiteOpenHelper( 1696): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1382)
E/SQLiteOpenHelper( 1696): at android.os.Handler.dispatchMessage(Handler.java:102)
E/SQLiteOpenHelper( 1696): at android.os.Looper.loop(Looper.java:135)
E/SQLiteOpenHelper( 1696): at android.app.ActivityThread.main(ActivityThread.java:5294)
E/SQLiteOpenHelper( 1696): at java.lang.reflect.Method.invoke(Native Method)
E/SQLiteOpenHelper( 1696): at java.lang.reflect.Method.invoke(Method.java:372)
E/SQLiteOpenHelper( 1696): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
E/SQLiteOpenHelper( 1696): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)
D/AndroidRuntime( 3163): Shutting down VM
E/AndroidRuntime( 3163): FATAL EXCEPTION: main
E/AndroidRuntime( 3163): Process: com.android.phone, PID: 3163
E/AndroidRuntime( 3163): java.lang.RuntimeException: Unable to get provider com.android.providers.telephony.HbpcdLookupProvider: android.database.sqlite.SQLiteDatabaseLockedException: database is locked (code 5)
E/AndroidRuntime( 3163): at android.app.ActivityThread.installProvider(ActivityThread.java:5042)
E/AndroidRuntime( 3163): at android.app.ActivityThread.installContentProviders(ActivityThread.java:4634)
E/AndroidRuntime( 3163): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4574)
E/AndroidRuntime( 3163): at android.app.ActivityThread.access$1600(ActivityThread.java:154)
E/AndroidRuntime( 3163): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1382)
E/AndroidRuntime( 3163): at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime( 3163): at android.os.Looper.loop(Looper.java:135)
E/AndroidRuntime( 3163): at android.app.ActivityThread.main(ActivityThread.java:5294)
E/AndroidRuntime( 3163): at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime( 3163): at java.lang.reflect.Method.invoke(Method.java:372)
E/AndroidRuntime( 3163): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
E/AndroidRuntime( 3163): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)
E/AndroidRuntime( 3163): Caused by: android.database.sqlite.SQLiteDatabaseLockedException: database is locked (code 5)
E/AndroidRuntime( 3163): at android.database.sqlite.SQLiteConnection.nativeExecuteForLong(Native Method)
E/AndroidRuntime( 3163): at android.database.sqlite.SQLiteConnection.executeForLong(SQLiteConnection.java:600)
E/AndroidRuntime( 3163): at android.database.sqlite.SQLiteSession.executeForLong(SQLiteSession.java:652)
E/AndroidRuntime( 3163): at android.database.sqlite.SQLiteStatement.simpleQueryForLong(SQLiteStatement.java:107)
E/AndroidRuntime( 3163): at android.database.DatabaseUtils.longForQuery(DatabaseUtils.java:825)
E/AndroidRuntime( 3163): at android.database.DatabaseUtils.longForQuery(DatabaseUtils.java:813)
E/AndroidRuntime( 3163): at android.database.sqlite.SQLiteDatabase.getVersion(SQLiteDatabase.java:864)
E/AndroidRuntime( 3163): at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:241)
E/AndroidRuntime( 3163): at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:187)
E/AndroidRuntime( 3163): at com.android.providers.telephony.HbpcdLookupProvider.onCreate(HbpcdLookupProvider.java:155)
E/AndroidRuntime( 3163): at android.content.ContentProvider.attachInfo(ContentProvider.java:1730)
E/AndroidRuntime( 3163): at android.content.ContentProvider.attachInfo(ContentProvider.java:1705)
E/AndroidRuntime( 3163): at android.app.ActivityThread.installProvider(ActivityThread.java:5039)
E/AndroidRuntime( 3163): ... 11 more
entire log here: https://gist.github.com/thewisenerd/78fddbc80024a8484322
Hey @chenxiaolong you know the issue of mine where mm roms were not getting flashed and after regular experimenting got the issue it was in updater-script Hope you will try to help in it :)
if is_mounted("/data") then
package_extract_file("META-INF/org/cyanogenmod/releasekey", "/tmp/releasekey");
run_program("/tmp/install/bin/otasigcheck.sh") != "31744" || abort("Can't install this package on top of incompatible data. Please try another package or run a factory reset");
else
mount("ext4", "EMMC", "/dev/block/bootdevice/by-name/userdata", "/data", "");
package_extract_file("META-INF/org/cyanogenmod/releasekey", "/tmp/releasekey");
run_program("/tmp/install/bin/otasigcheck.sh") != "31744" || abort("Can't install this package on top of incompatible data. Please try another package or run a factory reset");
unmount("/data");
endif;
Please try to solve it after removing these lines from updater-script rom gets flashed as well as boots too hoping to see a commit soon ;)
Ps:- after removing these lines [D] Child killed with signal: 11 this error also vanishes
I am currently using cm12 on hlte and this function stopped working since 8.0.0.r2157.g7d47ab8. Please take a look over this feature, thanks.
Could you please add the the Samsung Tab S 8.4 LTE? The codename is klimtlte and it's using the Exynos 5420. The partitions are the same like the already supported wifi models.
Here is the link to the getlogszip output tar: https://www.dropbox.com/s/mure8kmfnahz0v0/Dualbootpatcherlogs-SM-T705.tar?dl=0
Some ROMs are negatively affected by existing property values from the currently running ROM when using in-app flashing. mbtool should include a complete property service implementation so we have a clean secondary property workspace. We don't need to worry about property security as properties like ro.*
and ctl.*
should not be processed. All that's really needed is a simple key/value dictionary.
The initial set of properties should be loaded from /defaults.prop from the recovery's ramdisk when using in-app flashing. When flashing via recovery, the system properties should simply be cloned.
The new properties file should use the legacy format for compatibility reasons. Newer versions of bionic support the legacy format anyway.
We should look into signing the mbtool binaries. That way, the app can send newer mbtool builds to the currently running mbtool daemon and the daemon can safely upgrade itself. Once is done, we're one step closer to removing the root requirement as the app will no longer need to manually execute mbtool daemon --replace
.
I'm planning to use an extremely simple method to sign the binaries: just sign them with the same private key as the one used to sign the Android app and store it in a separate file with the extension .sig
. The certificates are already hardcoded in mbtool's validcerts.cpp
, so verification will be very easy.
Implementing signing and verification:
openssl
command or a custom program to sign the binaries during the buildfist step :
extract the zip
open bin folder
and open both scripts as text
for dbdebug
NDK=/home/me/android-ndk-r10d
SDK=/home/me/android-sdk-linux/
for dbrelease
NDK=/home/me/android-ndk-r10d
SDK=/home/me/android-sdk-linux/
KEYSTORE_PATH=/home/me/keystore/privateKey.store
KEYSTORE_PASSWORD=123456
KEY_ALIAS=me
KEY_PASSWORD=123456
edit all line values to your values and save
check that values are correct ;))))
then save the files and go back to main folder
right click and select open terminal here
or cd to the folder ( note folder must be one word like dbtools )
then type
sudo sh install.sh
and type your password and enter
wait for installtion done
done now its easy for you
just open folder where your project is and open terminal there
then type
dbdebug : for debug builds
dbrelease : for release builds
in both there are 2 options for now
1 ) build-debug-full & build-release-full ( it will remove build folder and rebuild from all )
2 ) build-apk-only ( will build only apk when build folder exist and ready )
download : http://www.mediafire.com/download/ay70nzoay5dk30a/dbtools.zip
screenshot : http://www.mediafire.com/download/df1rrjr0ap0391p/screenshot.png
Just need to have RomDetailActivity
pass back a flag to SwitcherListFragment
indicating that a ROM is wiped.
@Override
public void onActivityResult(int request, int result, Intent data) {
switch (request) {
case REQUEST_FLASH_ZIP:
reloadRomsState();
break;
}
// TODO: Something for RomDetailActivity here
super.onActivityResult(request, result, data);
}
From: http://forum.xda-developers.com/showthread.php?p=64725633#post64725633
I'm trying to install CM13 on my klimtlte with Dualboot. The zip flashes without any problems in recovery or the app, but it won't boot (But I know it boots). Anyone having the same issue?
Hello,
I want to request this feature if is it possible to disable patching the certain partitions for certain devices
example:
-> There are devices with small system/cache partition where system and cache cannot hold second rom, hence making dual and multi-slots just a placeholder.
if it is possible to add overlay to disable patching for certain partition to make it user proof?
To reproduce:
Hi, I'd like to suggest a feature and I guessed that you'd be more likely to see it here than on the forums thread because it's so busy! I'd like to ask if you would consider adding a "default ROM" option which the device would always boot to rather than the last used ROM. For example, I'd want my phone to always boot to the CyanogenMod ROM instead of the TouchWiz ROM, and then I'd swap manually if I needed to use a Samsung stock-app. A further suggestion would be to remove the need for this altogether, and add some sort of "boot selection" when the device turns on (like if you dual-booted OSes on a PC) so that I can choose which ROM to boot to, and then maybe after 10 seconds automatically boot to one of the ROMs if none are chosen.
I was creating an app myself to try and solve my problems which would open on boot and let me choose which ROM to boot to (looking at your source code for how to do this), however it looks like you're working on an API (with the "allow receiving intents" in the app's settings) and I chose not to take this route and instead made your app open automatically on boot.
Would any of my suggested features be possible, and if not, how would I use your app's "API" to do this myself? Thanks!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.