Giter Club home page Giter Club logo

adebar's People

Contributors

catfriend1 avatar chaotix- avatar d5ve avatar flashwalker avatar inktrap avatar izzysoft avatar jimbojoe avatar nemris avatar qrzy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

adebar's Issues

invalid option

Running adebar-cli results in an error. Not sure what could be the reason for that. The device I'm trying to backup is a i9300 with Cyanogenmod 13 (Android 6.0.1).

./adebar-cli       
./adebar-cli: line 57: declare: -A: invalid option
declare: usage: declare [-afFirtx] [-p] [name[=value] ...]
./adebar-cli: line 58: declare: -A: invalid option
declare: usage: declare [-afFirtx] [-p] [name[=value] ...]
./adebar-cli: line 59: org.fdroid.fdroid: syntax error: invalid arithmetic operator (error token is ".fdroid.fdroid")
./adebar-cli: line 60: cm.aptoide.pt: syntax error: invalid arithmetic operator (error token is ".aptoide.pt")
./adebar-cli: line 61: com.android.vending: syntax error: invalid arithmetic operator (error token is ".android.vending")
./adebar-cli: line 62: com.google.android.feedback: syntax error: invalid arithmetic operator (error token is ".google.android.feedback")
./adebar-cli: line 63: de.robv.android.xposed.installer: syntax error: invalid arithmetic operator (error token is ".robv.android.xposed.installer")
./adebar-cli: line 64: org.fdroid.fdroid: syntax error: invalid arithmetic operator (error token is ".fdroid.fdroid")
./adebar-cli: line 65: cm.aptoide.pt: syntax error: invalid arithmetic operator (error token is ".aptoide.pt")
./adebar-cli: line 66: com.android.vending: syntax error: invalid arithmetic operator (error token is ".android.vending")
./adebar-cli: line 67: com.google.android.feedback: syntax error: invalid arithmetic operator (error token is ".google.android.feedback")
./adebar-cli: line 68: de.robv.android.xposed.installer: syntax error: invalid arithmetic operator (error token is ".robv.android.xposed.installer")
./adebar-cli: line 88: declare: -A: invalid option
declare: usage: declare [-afFirtx] [-p] [name[=value] ...]

Syntax: ./adebar-cli <config|target_directory> [suffix]
Syntax: ./adebar-cli <-a|--auto|-h|--help>

There are no more command-line parameters currently, everything is
controlled via config files. For details, please see the project's
wiki at https://github.com/IzzySoft/Adebar/wiki/Configuration

Oops in pkg at line 229: Unexpected: ' mtkFlags=[ ]'

I don’t know if it might help you, but I modified line 232 in ./adebar-cli to

local txt="Oops in $1 at line $2: $3 ... level = $level"

so the output looks like

Oops in pkg at line 229: Unexpected: '    mtkFlags=[ ]' ... level = 2

partitions.lib line 222/1024 syntax error and invalid arithmetic operator

Precise error message
/c/adb/Adebar/lib/partitions.lib: line 222: / 1024: syntax error: operand expected (error token is "/ 1024")
")syntax error: invalid arithmetic operator (error token is "
Full log: https://pastebin.com/ULv8s1Kd

Expected behavior
No errors/warnings being thrown.

Desktop

  • OS: Windows 7 x64
  • Bash Version: mintty / cygwin64 2.9.9 and GIT Bash 4.4.19(2)
  • Adebar Version: latest commit 7178d7c
  • Configuration settings made: changed DEVICE_NAME to "XZ1" and DEVICE_IP to local IP

Smartphone

  • Device: Sony Xperia XZ1 Compact
  • OS Version: Android 9, security patch from February 1
  • ROM: stock 47.2.A.8.24

Additional context
Have exactly the same bug if running under Mac OS X High Sierra with MacPorts bash 2.5.4

Auto confirmation does not work if server is not startet or screen is locked.

  • If I do not start the server and show the connected devices with àdb devices, the auto-confirmation will fail.
  • this also happens when the screen is locked.
  • Basically everything that delays the backup-operation will result in the right keypress being send in the wrong situation.
  • I am trying to fix this, but to cover all eventualities it would be necessary to ensure that the backup-dialog/screen is the currently active window and that nothing else (like a keyboard) is present. This is not possible via adb.
  • it should at least be documented that the device needs to be connected first and the server has to be running and the screen should be unlocked.

Just keeping this here for future reference.

Wiki: Discussion

It would be nice to add how backup & restore should look like. I don’t say this is important, but I think it should be done.

command `bash adebar-cli` fails

After creating an appropriate config file 'config/myphone', I have tried to start adebar-cli with bash explicitly, which fails:
bash adebar-cli myphone

The error messages indicate that libraries are not found:
adebar-cli: line 236: adebar-cli/lib/common.lib: Not a directory

Next I started adebar-cli with a relative path, which works as expected:
bash ./adebar-cli myphone

The culprit is the BINDIR assignment in adebar-cli:
BINDIR="${0%/*}"

I have fixed the issue by modifying the BINDIR assignment:

clientfullpath=`readlink -mn "${0}"`
BINDIR=`dirname "${clientfullpath}"`

Confirmation every time on backup/restore?

Hi IzzySoft,
not really an issue,
I would like to understand if is it possible to automatize the backup (or restore) process, avoiding to give confirmation every time for every application.

Many many thanks!

Davide

Backupscript does not sleep long enough for autoconfirm

I backed up a friends slightly older phone (Nexus 4) and ran into trouble. Starting the backup script messed up. It started random apps or went into the launcher settings etc.

It turns out that the phone was too slow to start the backup within one second. So the confirmation dialog for "adb backup -f ...ab -apk ..." was not showing yet when the script started sending the keycodes to confirm the backup which then of course did something completely different.

Unfortunately I did not have enough time for tests and just substituted "sleep 1" with "sleep 5". I would guess "sleep 3" would work as well for slower phones, but I haven't tested it. But "sleep 1" was definitely too fast and I guess other slightly slower phones will also have problems with this.

adebar help

While there is no real need of --help parameter as there are literally no command-line parameters (which would be, perhaps good to introduce somewhere in future), a simple (maybe a bit more elaborate then the one already included when it is not run with proper syntax) help text is always good to have displayed (at least for newbies just like myself xD).

I created one, but it could be even better if it could include some more info about config file.

Here’s my piece of code (you could also include instances of bad syntax too display this help):

if [[ $1 = "--help" || $1 = "-h" ]]; then
    echo "Usage: ./adebar-cli <config|target_directory> [suffix]"
    echo "Android Device Backup and Report"
    echo
    echo "  -h, --help display this help and exit"
    echo
    echo "There are no other command-line parameters, because everything is done via config file."
    echo "You can get more information about configuration and usage of adebar"
    echo "on its github wiki <https://github.com/IzzySoft/Adebar/wiki>."
fi

Backup and restore from different phone and different Android version

Hi Staff,
I'm a Linux user and,
I would like to know if with Adebar could be possible to copy user apps (only user apps), system and user setting, blacklist phone and personal dictionary, from an "Xperia Sola with CyanogenMod 11-20150714-UNOFFICIAL-pepper" to Samsung Galaxy NS3 Neo with CyanogenMod 12.1-20150518-UNOFFICIAL-s3ve3g.

many thanks!!

Davide
Italy

Add support to extract Helium backups

Request: ability to extract adb backups:
helium-backup.ab > simple.tar > view/explore/extract all files
helium-backup.ab > simple.tar > convert to android adb backup

backup files are zero byte big

Hi there,
today i give adebar a try but it seems I have done things not right.
I just created a folder and let adebar run. the created script looks good, just wpa_supplicant.conf was not fetched.
i run a Sony Xperia Z1C Compact with cm-12.1 without gapps.

deviceInfo.md.zip
the deviceIfo file is the orginal just Sync provider details i have removed.

~/handy/build/Adebar/z1c $ ./sysbackup backing up: com.android.providers.telephony Now unlock your device and confirm the backup operation...

for each attempt to backup an app i get a confirmation dialogue on the phone (which drives me crazy, can i give the permission one for all?) but all backed up files are zero bites big.
screenshot_2016-12-26-11-47-07
~/handy/build/Adebar/z1c/userApps $ ll
insgesamt 0
drwxr-xr-x 1 mdomann mdomann 2,3K Dez 26 11:41 .
drwxr-xr-x 1 mdomann mdomann 218 Dez 26 11:44 ..
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:40 acr.browser.lightning.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:40 at.bitfire.davdroid.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:41 com.android.keepass.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:39 com.artifex.mupdfdemo.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:40 com.cliffcawley.calendarnotify.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:39 com.duolingo.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:39 com.eclipsim.gpsstatus2.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:40 com.fsck.k9.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:39 com.garzotto.iforest.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:39 com.google.zxing.client.android.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:39 com.hillman.out_loud.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:39 com.kebab.Llama.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:39 com.mapswithme.maps.pro.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:39 com.miadzin.shelves.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:40 com.miadzin.shelves.unlocker.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:36 com.nextcloud.client.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:41 com.nolanlawson.logcat.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:39 com.oleksiykovtun.picsontumblr.android.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:40 com.orux.oruxmaps.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:39 com.rerware.android.MyBackupPro.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:41 com.simplemobiletools.gallery.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:37 com.speedsoftware.rootexplorer.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:39 com.zoffcc.applications.zanavi.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:40 csd.qtproject.minesweeper.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:40 cz.eutopia.snooperstopper.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:40 de.baumann.thema.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:41 de.christinecoenen.code.zapp.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:40 de.easygo.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:36 de.hoffmannsgimmicks.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:40 de.reimardoeffinger.quickdic.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:39 dev.ukanth.ufirewall.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:40 de.yellowmap.cashpool.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:40 dk.tacit.android.foldersync.lite.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:41 doppelkopf.am.stammtisch.free.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:39 me.kuehle.carreport.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:37 net.reichholf.dreamdroid.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:39 org.connectbot.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:40 org.dmfs.tasks.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:40 org.fdroid.fdroid.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:41 org.horaapps.leafpic.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:39 org.nick.cryptfs.passwdmanager.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:39 org.schabi.newpipe.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:36 org.telegram.messenger.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:40 org.tvbrowser.tvbrowser.ab
-rw-r----- 1 mdomann mdomann 0 Dez 26 11:40 org.withouthat.acalendar.ab

any idea what i did wrong?

TIA Micha

Problem with auto-entering backup pw and confirm

Problem / Reproducer
Hi there,
thanks for this wonderful script. Since I've decided to stay unrooted for the moment, I'm using it to backup my apps and data. I've got a problem here, as the auto-confirm config option doesn't work. To reproduce this:

  • Use the sample configuration. (Auto confirm is on there)
  • Define the var "BACKUP_PASSWORD".
  • Run main script with subdir name "_mi8". cd to "_mi8" folder.
  • Run "./userbackup" script.
  • It shows "Now unlocking your device" and the first package name to backup. The Android device pops up the confirm desktop backup screen from Android and requires me to enter the backup password as I'd previously defined in developer settings.
  • Not touching the phone while this is happening:
    adb shell input [password] is sent by the desktop and the password appears in the first (from the two password) text fields on the Android screen.
    At the same time: Android keyboard pops up.
    PROBLEM: The backup gets stuck here, I have to manually hit the "Backup now" button on the bottom right corner.
    EXPECTED: The "Backup now" button is automatically hit by the correct keyevent the desktop has to send to the Android device.

I also found a fix for the problem. Will submit a PR.

Device
Xiaomi Mi8

Android OS
MIUI 10 from Xiaomi, Android 8.1.0 Oreo based.

Desktop OS
Windows 10 Pro x64 using GIT bash based on MinGW.

Maybe related to issue:
#36 "Confirmation on every backup / restore"

Not able to backup my un-rooted tablet's partitions

I'm trying to backup all partitions on my un-rooted Dragon Touch V10 tablet (Android 7.0). As a test, I also tried to backup my rooted Moto G4 Play (Android 6.0.1). I was able to back up all the partitions on my Moto G4, so it seems as though I've successfully installed the Adebar program on my Windows 10 laptop.

Here are some specifics: Tablet: Dragon Touch V10, Android 7.0, not rooted.

I've attached 3 files:

  1. The partBackup script created by Adebar
  2. An "ls -al" of the images directory after running the partBackup script on the V10
  3. An "ls -al" of the images directory after running the corresponding partBackup script on my rooted Moto G4 Play

You can see from the ls listings that the Moto G4 did backup the partitions from the phone. You can also see that every partition backed up on the V10 are the same size. When I try to open any of them (with Peazip), I get an error stating that "Archive is not readable". I am able to open the archives from the Moto G4.

Do you have any idea why this is happening? Do I understand correctly that this was intended to run on devices which are not rooted?

Many thanks for your efforts and any feedback is welcomed.

partBackup.txt
imagesDragonTouchV10.txt
imagesMotoG4Play.txt

ab2tar with encrypted?

Hi, lots of good work here, but I just want to look at my adb backup. Whats the quickest way to do that on linux? I've seen some scripts in java or that need perl requirements. I like you solution because its packaged with these. Unfortunately, I get "flate: inflate: data: incorrect header check" when trying to use ab2tar. I assume this is because it is encrypted. As others on SE have similar problems. Any guidance? Thank you

Root: some files are not found

I pulled new devel branch repository and enable PARTBACKUP setting in config/bu file, but after I ran ./adebar bu, some files cannot be found. Here’s the latest output (I enabled some more verbosity in the config/bu file):

./adebar-cli bu

Adebar running:
Gathering lists of installed apps
- userApps
- systemApps
- checking for uninstalled apps remembered by the system
Removed app: 
Removed app: 
Removed app: 
Removed app: 
Removed app: 
Removed app: 
Removed app: 
Removed app: 
Removed app: com.gameloft.android.GloftRF14
Removed app: com.accuweather.android
Removed app: com.facebook.katana
Removed app: com.gameloft.android.GloftGF2H
Removed app: com.gamestore
Removed app: com.mediatek.FMRadio
Removed app: com.UCMobile.intl
Removed app: com.evernote
Removed app: com.route66.maps5
Removed app: com.gameloft.android.gdc
Removed app: com.guvera.android
Removed app: com.twitter.android
Removed app: com.skype.raider
Removed app: com.gameloft.android.HEP.GloftA7HP
Removed app: com.txtr.android.lenovo
Obtaining list of disabled apps
Creating backup/restore scripts for UserApps
Creating backup/restore scripts for SytemApps
Checking default install-location
Collecting partition details
Generating script to create partition images
Collecting device information
- Evaluating device properties
   + checking for product details
   + checking for sensor details
   + checking for OS details
- Evaluating 'pm list features'
- Evaluating device status
  + Battery status
  + Radio status
  + networking details
  + storage details
  + Provider info
- Obtaining account and backup details
Pulling configuration files
- build.prop: 99 KB/s (4571 bytes in 0.044s)
- wpa_supplicant.conf: remote object '/data/misc/wifi/wpa_supplicant.conf' does not exist
- softap.conf: remote object '/data/misc/wifi/softap.conf' does not exist
- gps.conf: remote object '/system/etc/gps.conf' does not exist
- hosts: 3930 KB/s (599678 bytes in 0.148s)
- packages.xml: failed to copy '/data/system/packages.xml' to 'bu/conf/packages.xml': Permission denied
- usage-history.xml: remote object '/data/system/usagestats/usage-history.xml' does not exist
Generating app detail info
- collecting data via dumpsys
- parsing package dump
Oops in pkg at line 229: Unexpected: '    mtkFlags=[ ]'
- generating userApps.md
- removing temporary dumpfile
PostProcessing and Cleanup
Adebar done.

Following files do exist in my system

  • /data/misc/wifi/wpa_supplicant.conf,
  • /data/misc/wifi/softap.conf,
  • /data/system/packages.xml,
  • /data/system/usagestats/usage-history.xml.

File /system/etc/gps.conf does not exist. This might be because I never had gps turned on. :)

In the config/bu file, there are some settings (read: variables :) …) which I don’t really understand what exactly they do. For example, there’s the following setting:

# If your device is rooted, but the ADB daemon does not run in root mode, set this to 1
ROOT_COMPAT=0

I have a rooted phone and I can access root shell in adb (in two steps, adb shell and su). I just don’t know if I should enable it or not.

MobaXterm compatibility

Hello,

I needed to have Adebar work under Windows, so I used MobaXterm. It didn't work out-of-the-box, I had to make some small changes in order to make it work:

  • use grep -E instead of egrep
  • small adaptations to the adb devices regexp

You'll find the patch here: Adebar-MobaXterm-Windows.patch.txt
Here is my hoping to end-up with a unified version, compatible with every platform.
Thanks anyway !

./lib/deviceinfo.lib: line 17: {: syntax error: operand expected (error token is "{")

When running ./adebar-cli on my oneplus config (which is barely modified from sample), I get the following error in the middle of the output:

./adebar-cli oneplus  

Adebar running:
Gathering lists of installed apps
Obtaining list of disabled apps
Creating script to enable ALL apps
Creating backup/restore scripts for UserApps
Creating backup/restore scripts for SytemApps
Checking default install-location
Collecting partition details
Collecting device information
./lib/deviceinfo.lib: line 17: {: syntax error: operand expected (error token is "{")
Pulling configuration files
Generating app detail info
PostProcessing and Cleanup
Adebar done.

Any idea what could be the issue here?

(Version: git cloned commit 175a9ee)
(System: Debian GNU/Linux 9.5 (stretch))

No device found

[utku@utku2 Adebar-1.7.0]$ TRANSFER_DIR=/home/utku/Programlar/Adebar-1.7.0/transfers DOCDIR=/home/utku/Programlar/Adebar-1.7.0/doc CACHEDIR=/dev/shm/cache PARTBACKUPDIR=/home/utku/Programlar/Adebar-1.7.0/images SERIAL=4LTS55ZPDICYLNZ5 '/home/utku/Programlar/Adebar-1.7.0/adebar-cli' MK_DEVICEINFO  MK_PARTINFO
No device found. Make sure you have connected your device with
USB debugging enabled, and try again.

i already gived adb permissions and i can run adb shell

[utku@utku2 Adebar-1.7.0]$ adb shell
VIA_A1:/ $ uname
Linux
VIA_A1:/ $ whoami
shell
VIA_A1:/ $ exit
[utku@utku2 Adebar-1.7.0]$ adb devices
List of devices attached
4LTS55ZPDICYLNZ5	device

[utku@utku2 Adebar-1.7.0]$ 

also not working without variables

[utku@utku2 Adebar-1.7.0]$ '/home/utku/Programlar/Adebar-1.7.0/adebar-cli' MK_DEVICEINFO  MK_PARTINFO
No device found. Make sure you have connected your device with
USB debugging enabled, and try again.

partitions.lib line 221/1024 syntax error under Windows Bash

Describe the bug
The script fails to generate the documentation partly.

To Reproduce
Steps to reproduce the behavior:
Run $ ./adebar-cli _mi8

Precise error message (if any):
Adebar running:
Gathering lists of installed apps
Obtaining list of disabled apps
Creating script to enable ALL apps
Creating backup/restore scripts for UserApps
Creating backup/restore scripts for SytemApps
Checking default install-location
Collecting partition details
Collecting device information

  • Service state:
    • mVoiceRegState=3(POWER_OFF)
    • mDataRegState=3(POWER_OFF)
    • mVoiceRoamingType=home
    • mDataRoamingType=home
    • mVoiceOperatorAlphaLong=null
    • mVoiceOperatorAlphaShort=null
    • mDataOperatorAlphaLong=null
    • mDataOperatorAlphaShort=null
    • isManualNetworkSelection=false(automatic)
    • mRilVoiceRadioTechnology=0(Unknown)
    • mRilDataRadioTechnology=0(Unknown)
    • mCssIndicator=unsupported
    • mNetworkId=-1
    • mSystemId=-1
    • mCdmaRoamingIndicator=-1
    • mCdmaDefaultRoamingIndicator=-1
    • mIsEmergencyOnly=false
    • mIsDataRoamingFromRegistration=false
    • mIsUsingCarrierAggregation=false
    • mLteEarfcnRsrpBoost=0
  • Service state:
    • mVoiceRegState=3(POWER_OFF)
    • mDataRegState=3(POWER_OFF)
    • mVoiceRoamingType=home
    • mDataRoamingType=home
    • mVoiceOperatorAlphaLong=null
    • mVoiceOperatorAlphaShort=null
    • mDataOperatorAlphaLong=null
    • mDataOperatorAlphaShort=null
    • isManualNetworkSelection=false(automatic)
    • mRilVoiceRadioTechnology=0(Unknown)
    • mRilDataRadioTechnology=0(Unknown)
    • mCssIndicator=unsupported
    • mNetworkId=-1
    • mSystemId=-1
    • mCdmaRoamingIndicator=-1
    • mCdmaDefaultRoamingIndicator=-1
    • mIsEmergencyOnly=false
    • mIsDataRoamingFromRegistration=false
    • mIsUsingCarrierAggregation=false
    • mLteEarfcnRsrpBoost=0

./lib/partitions.lib: line 221: / 1024: syntax error: operand expected (error token is "/ 1024")
./lib/partitions.lib: line 221: / 1024: syntax error: operand expected (error token is "/ 1024")

{repeated 80 times more}

./lib/partitions.lib: line 221: / 1024: syntax error: operand expected (error token is "/ 1024")
./lib/partitions.lib: line 221: / 1024: syntax error: operand expected (error token is "/ 1024")
./lib/partitions.lib: line 221: / 1024: syntax error: operand expected (error token is "/ 1024")
")syntax error: invalid arithmetic operator (error token is "
")syntax error: invalid arithmetic operator (error token is "
Pulling configuration files
Generating app detail info
PostProcessing and Cleanup
Adebar done.

Expected behavior
The partitions documentation should be generated without error.

Desktop (please complete the following information):

  • OS: Windows 10 Pro x64 1703
  • Bash Version: MinGW on Windows (from GitHub Desktop) - GNU bash, version 4.4.19(1)-release (x86_64-pc-msys)
  • Adebar Version: commit 5b15d38
  • Configuration settings made: BACKUP_PASSWORD="PW"

Smartphone (please complete the following information):

  • Device: Xiaomi Mi8
  • OS Version: Android 8.1.0
  • ROM: MIUI 10 Stock ROM

List of tested devices

As the title suggests, it would be good to know on which devices adebar has been tested, esp. for those who just heard about adebar.

Restoring user apps and setting on different firmware?

I hope not to stress you :-)
I've made a userapp/setting backup on a original firmware Samsung Tab 4 from my Linux box.
Now I've installed LineageOS (matissewif) and try to restore apps and setting.
Running ./userrestore all seems works fine, on the tablet display I can see the starting and ending process. And the same on Linux terminal.
But at the end, if I look into the Android drawer I cannot see any one application!

Is it possible to restore user app from different firmware?

Many thanks again!

Davide

mtk devices: tibu backup halts

I used this config file to generate backup. However, the output hangs on the following line:
build.prop: 110 KB/s (4571 bytes in 0.040s)
I check that build.prop is pulled, wpa_supplicant.conf just touched (empty file was created), and no hosts pulled.

This is the first time I tried to backup with tibu option enable, actually with all of the following settings enabled:

# create the script to pull stuff from the TiBu web server
MK_TIBU=1
# process package information via dumpsys and generate userApps.md/sysApps.md
MK_USERAPPS=1
MK_SYSAPPS=1
MK_SYSAPPS_RETRIEVE_NAMES=1
# deal with the default-install-location (where apps should be installed)
MK_INSTALLLOC=1

I tried it using master and devel branch, too.

Moving to Codeberg

All my other Github projects already have been migrated – now it's time to move Adebar to Codeberg as well. To have your contributions properly attributed/mapped to you: would you mind creating an account there (unless you already have done that)? I'll wait a few weeks to give you a chance (considering some of you might be on vacation, or want some time to consider first) before I initiate the move.

@inktrap @d5ve @Flashwalker @JimboJoe @Qrzy @n0tnull @chaotix- @Catfriend1

Looking forward to see you there! And should you have chosen a different username at Codeberg, please let me know so I can arrange a mapping.

PS: Same applies to anyone having participated in issues 😉 Apologies if I missed someone – I just noticed the "Insights › Contributors" list seems to be incomplete…

stderr treated as app names

I just noticed that my disable file looks like this – the error output is treated as stdout with the disabled apps. In my opinion you should work only with stdout not the whole terminal output. :)

More info on the error is here. :)

The stderr output is also visible in $backup/sysbackup file, too (pastebin),

And it also affects $backup/sysrestore (pastebin), $backup/userbackup (pastebin) and $backup/userrestore (pastebin) files.

Partial restore to a tablet

Hi,
I have issued a backup for a subset of applications from my phone, it is Oneplus One. I am trying to restore the partial backup into a tablet, Huawei Mediapad M2. Now when I start the restore script, I am getting the notification in the tablet that the restore will replace any data currently on the device. !
Does it mean it will wipe out all the data on the device? Or only the data relevant to the applications I am trying to restore?

Thanks in advance.

Editing comments in `doc/config.sample` to be more understandable

Some of the comments are somewhat misleading or ambigious (in my opinion). I’d like to change the wording and if you approve it, it would be nice to merge it.

Could I ask you for contributor ’privilege'? So I could create separate branch to commit my changes and after you reviewed my changes, you could just simply merge it to the master. ;)

tempfile issue

I've just found adebar and I wanted to give it a try, so I cloned it from git to my arch linux. Now, while I ran ./adebar-cli ./bu_test/, I received these errors:

./lib/partitions.lib: line 75: tempfile: command not found
./lib/partitions.lib: line 79: : No such file or directory

So I explored the file ./lib/partitions.lib on line 75 and 79:

local tmp=$(tempfile)  # line 75
adb ${ADBOPTS} shell cat /proc/dumchar_info > "${tmp}"  # line 79

The tempfile command is not installed in my system and I hae no clue what should be done in order to achieve the solution :).

More a question than a bug, but why care about "adb backup"

Looking into the ab files generated wouldn't it be so much easier to simply copy/rsync/tar/whatever

  • /data/data
  • /data/app
  • /system/app
  • even /etc

at least for rooted devices ...
This would even work over the network (ssh) without ever touching adb ...
Probably I'm missing something here ..., probably you are targeting non-rooted devices?

Dual-SIM: Support provider-info for second SIM

Accidently, I made a test backup while the sim card was not unlocked. The provider info in $backup_dir/docs/deviceInfo.md file was the following:

### Provider info
* Mobile provider: Orange
* Provider country: sk
* Provider code: 23101
* SIM state: PIN_REQUIRED

which is not true. The following is accurate provider info after the sim card was unlocked:

### Provider info
* Mobile provider: O2
* Provider country: sk
* Provider code: 23106
* SIM state: READY

Restoration of android 6 apps on android 7 fails

I upgraded from CyanogenMod 13 (Android 6) to LineageOS 14 (Android 7). Before upgrading, I did a backup of all system and user apps with adebar.

Restoring the apps on Android 7 fails. None of the ~30 applications show their icon in the app menu, even after rebooting.

Is it even possible to restore those apps after such an upgrade? Or is that only possible on the same android version?

Documentation on installed apps should show availability

When creating the documentation for user-installed apps, we should point out whether they are still available at their source (see: How to get notified about removed apps from play store?).

At least for Playstore, this can be done by a simple HTTP request (which returns a 404 when the app became unavailable). If possible, we could even include more details (optional/configurable), such as last version available (as opposed to the version currently installed).

shared storage is not backed up properly

I'm using Adebar with a h850 (LG G5) but it fails at creating a backup of the Shared Storage. The file it produces is just 41 Bytes big.

$ ./sysbackup 
backing up: com.android.sharedstoragebackup
Now unlock your device and confirm the backup operation...
\Some of the apps are not backed up properly (1):

com.android.sharedstoragebackup

This is how my sysbackup script looks like

#!/usr/bin/env bash
# Backup script for h850 as of 2017-10-29 15:34
# Backs up the data (not the .apk files) of all your system apps
# Feel free to comment out/remove apps you don't want/need to be backed up.

[ ! -d "sysApps" ] && mkdir "sysApps"
cd "sysApps"

function doBackup() {
  if [ -f "${1}.ab" ]; then
    echo "skiping: ${1}: already backed up."
  else
    echo "backing up: ${1}"
    adb -s LGH8502cc3bb37 backup -f "${1}.ab" -noapk ${1}
  fi
  sleep 1
}

function autoConfirm() {
    adb -s LGH8502cc3bb37 shell input keyevent 22 \
    && sleep 1 \
    && adb -s LGH8502cc3bb37 shell input keyevent 23
}

function autoConfirmedBackup() {
    doBackup "${1}" &
    if [ ! -s "${1}.ab" ]; then
        JOB=$!
        sleep 3
        autoConfirm
        while [[ $? == 0 ]]; do
            sleep 1
            ps -p ${JOB} &>/dev/null
        done
    fi
}

autoConfirmedBackup com.android.providers.telephony
autoConfirmedBackup org.cyanogenmod.snap
autoConfirmedBackup com.android.providers.calendar
autoConfirmedBackup com.android.providers.media
autoConfirmedBackup com.qti.service.colorservice
autoConfirmedBackup com.qualcomm.shutdownlistner
autoConfirmedBackup com.android.wallpapercropper
autoConfirmedBackup com.quicinc.cne.CNEService
autoConfirmedBackup org.cyanogenmod.wallpapers.photophase
autoConfirmedBackup com.android.documentsui
autoConfirmedBackup com.android.galaxy4
autoConfirmedBackup com.android.externalstorage
autoConfirmedBackup com.android.htmlviewer
autoConfirmedBackup org.cyanogenmod.theme.chooser2
autoConfirmedBackup com.android.mms.service
autoConfirmedBackup com.android.providers.downloads
autoConfirmedBackup com.android.messaging
autoConfirmedBackup com.android.terminal
autoConfirmedBackup org.cyanogenmod.audiofx
autoConfirmedBackup com.qualcomm.qti.telephonyservice
autoConfirmedBackup com.android.browser
autoConfirmedBackup org.cyanogenmod.providers.datausage
autoConfirmedBackup com.android.soundrecorder
autoConfirmedBackup com.android.defcontainer
autoConfirmedBackup com.android.providers.downloads.ui
autoConfirmedBackup com.android.pacprocessor
autoConfirmedBackup org.cyanogenmod.themeservice
autoConfirmedBackup com.android.certinstaller
autoConfirmedBackup com.android.carrierconfig
autoConfirmedBackup android
autoConfirmedBackup com.android.contacts
autoConfirmedBackup cyanogenmod.platform
autoConfirmedBackup com.android.stk
autoConfirmedBackup com.android.backupconfirm
autoConfirmedBackup org.cyanogenmod.profiles
autoConfirmedBackup com.android.provision
autoConfirmedBackup com.android.statementservice
autoConfirmedBackup org.cyanogenmod.cmaudio.service
autoConfirmedBackup com.android.wallpaper.holospiral
autoConfirmedBackup com.android.calendar
autoConfirmedBackup org.cyanogenmod.settings.device
autoConfirmedBackup com.android.phasebeam
autoConfirmedBackup com.android.providers.settings
autoConfirmedBackup com.android.sharedstoragebackup
autoConfirmedBackup com.android.printspooler
autoConfirmedBackup org.cyanogenmod.livelockscreen.service
autoConfirmedBackup com.android.dreams.basic
autoConfirmedBackup com.android.frameworks.telresources
autoConfirmedBackup com.android.webview
autoConfirmedBackup com.android.inputdevices
autoConfirmedBackup com.qti.dpmserviceapp
autoConfirmedBackup org.fdroid.fdroid
autoConfirmedBackup com.cyanogenmod.updater
autoConfirmedBackup com.android.cellbroadcastreceiver
autoConfirmedBackup com.android.onetimeinitializer
autoConfirmedBackup com.android.server.telecom
autoConfirmedBackup org.cyanogenmod.screencast
autoConfirmedBackup org.cyanogenmod.themes.provider
autoConfirmedBackup com.android.keychain
autoConfirmedBackup com.cyanogenmod.wallpapers
autoConfirmedBackup com.android.dialer
autoConfirmedBackup com.android.gallery3d
autoConfirmedBackup com.cyanogenmod.trebuchet
autoConfirmedBackup org.cyanogenmod.cmsettings
autoConfirmedBackup com.android.calllogbackup
autoConfirmedBackup com.android.packageinstaller
autoConfirmedBackup com.svox.pico
autoConfirmedBackup com.android.proxyhandler
autoConfirmedBackup com.cyanogenmod.filemanager
autoConfirmedBackup com.android.inputmethod.latin
autoConfirmedBackup com.android.managedprovisioning
autoConfirmedBackup com.android.dreams.phototable
autoConfirmedBackup com.android.noisefield
autoConfirmedBackup com.android.smspush
autoConfirmedBackup com.android.wallpaper.livepicker
autoConfirmedBackup com.cyanogenmod.settings.doze
autoConfirmedBackup org.fdroid.fdroid.privileged
autoConfirmedBackup org.cyanogenmod.hexolibre
autoConfirmedBackup com.android.settings
autoConfirmedBackup com.cyanogenmod.eleven
autoConfirmedBackup com.android.calculator2
autoConfirmedBackup com.qualcomm.location
autoConfirmedBackup com.qualcomm.qti.tetherservice
autoConfirmedBackup eu.airaudio.aarscservice
autoConfirmedBackup com.android.wallpaper
autoConfirmedBackup com.android.vpndialogs
autoConfirmedBackup com.qualcomm.location.XT
autoConfirmedBackup com.android.email
autoConfirmedBackup com.android.phone
autoConfirmedBackup com.android.shell
autoConfirmedBackup com.android.providers.userdictionary
autoConfirmedBackup com.android.location.fused
autoConfirmedBackup com.android.deskclock
autoConfirmedBackup com.android.systemui
autoConfirmedBackup com.android.exchange
autoConfirmedBackup com.android.bluetoothmidiservice
autoConfirmedBackup org.cyanogenmod.wallpaperpicker
autoConfirmedBackup com.android.bluetooth
autoConfirmedBackup com.android.development
autoConfirmedBackup com.android.providers.contacts
autoConfirmedBackup org.cyanogenmod.weatherservice
autoConfirmedBackup com.android.captiveportallogin
autoConfirmedBackup org.cyanogenmod.weather.provider

NOT_BACKED_UP=($(find -maxdepth 1 -type f -size -42c | xargs))
while [[ "${#NOT_BACKED_UP[@]}" -gt 0 ]]; do
  echo -e "\Some of the apps are not backed up properly ("${#NOT_BACKED_UP[@]}"):\n"
  for i in "${NOT_BACKED_UP[@]}"; do
    i="${i%.ab}"
    echo "${i##*/}"
  done
  echo
  validbackres=0
  backres=n
  while ! (($validbackres)); do
    read -n 1 -p "Try to backup them again? (y/N): " backres
    if [[ "${backres,,}" == [Nn] || -z "${backres}" ]]; then
      validbackres=1
      break=1
      validrmres=0
      rmres=n
      while ! (($validrmres)); do
        echo
        read -n 1 -p "Delete these backup files? (y/N): " rmres
        if [[ "${rmres,,}" == [Nn] || -z "${rmres}" ]]; then
          validrmres=1
        elif [[ "${rmres,,}" == [Yy] ]]; then
          validrmres=1
          for i in "${NOT_BACKED_UP[@]}"; do
            rm "${i}"
          done
          echo
        else
          validrmres=0
          echo -e "\e[0;31m\nResponse not valid, please answer y or n\n\e[m"
        fi
      done
    elif [[ "${backres,,}" == [Yy] ]]; then
      validbackres=1
      echo
      for i in "${NOT_BACKED_UP[@]}"; do
        rm "${i}"
        i="${i%.ab}"
        autoConfirmedBackup "${i##*/}"
      done
      NOT_BACKED_UP=()
      NOT_BACKED_UP=($(find -maxdepth 1 -type f -size -42c | xargs))
    else
      validbackres=0
      echo -e "\e[0;31m\nResponse not valid, please answer y or n\n\e[m"
    fi
  done
  (($break)) && break
done

cd - > /dev/null

And this is the output of adb logcat while running the script:

10-29 20:16:05.410 20734 20734 I sh      : type=1400 audit(0.0:87): avc: denied { ioctl } for path="socket:[354077]" dev="sockfs" ino=354077 ioctlcmd=5401 scontext=u:r:shell:s0 tcontext=u:r:adbd:s0 tclass=unix_stream_socket permissive=1
10-29 20:16:05.619 20736 20736 D AndroidRuntime: >>>>>> START com.android.internal.os.RuntimeInit uid 2000 <<<<<<
10-29 20:16:05.622 20736 20736 D AndroidRuntime: CheckJNI is OFF
10-29 20:16:05.652 20736 20736 D ICU     : No timezone override file found: /data/misc/zoneinfo/current/icu/icu_tzdata.dat
10-29 20:16:05.675 20736 20736 I Radio-JNI: register_android_hardware_Radio DONE
10-29 20:16:05.692 20736 20736 D AndroidRuntime: Calling main entry com.android.commands.bu.Backup
10-29 20:16:05.693 20736 20736 D bu      : Beginning: backup
10-29 20:16:05.695  1678  3243 V BackupManagerService: Requesting full backup: apks=false obb=false shared=false all=false system=true pkgs=[Ljava.lang.String;@d0d99c7
10-29 20:16:05.695  1678  3243 I BackupManagerService: Beginning full backup...
10-29 20:16:05.695  1678  3243 D BackupManagerService: Starting backup confirmation UI, token=73849797
10-29 20:16:05.696  1678  3243 W ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.startActivity:668 com.android.server.backup.BackupManagerService.startConfirmationUi:8810 com.android.server.backup.BackupManagerService.fullBackup:8678 com.android.server.backup.Trampoline.fullBackup:230 android.app.backup.IBackupManager$Stub.onTransact:194 
10-29 20:16:05.696  1678  3243 W ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.startActivity:680 android.app.ContextImpl.startActivity:669 com.android.server.backup.BackupManagerService.startConfirmationUi:8810 com.android.server.backup.BackupManagerService.fullBackup:8678 com.android.server.backup.Trampoline.fullBackup:230 
10-29 20:16:05.696  1678  3243 I ActivityManager: START u0 {act=fullback flg=0x10000000 cmp=com.android.backupconfirm/.BackupRestoreConfirmation (has extras)} from uid 1000 on display 0
10-29 20:16:05.697   663   803 E ANDR-PERF-MPCTL: invalid request, no optimizations performed
10-29 20:16:05.704  1678  3243 D BackupManagerService: Waiting for full backup completion...
10-29 20:16:05.705   663   803 E ANDR-PERF-MPCTL: invalid request, no optimizations performed
10-29 20:16:05.750  1678  3249 D CryptdConnector: SND -> {688 cryptfs cryptocomplete}
10-29 20:16:05.750   454   464 E Cryptfs : not running with encryption, aborting
10-29 20:16:05.750  1678  2031 D CryptdConnector: RCV <- {200 688 1}
10-29 20:16:05.809  1678  1879 I ActivityManager: Displayed com.android.backupconfirm/.BackupRestoreConfirmation: +105ms
10-29 20:16:08.616 20751 20751 D AndroidRuntime: >>>>>> START com.android.internal.os.RuntimeInit uid 2000 <<<<<<
10-29 20:16:08.619 20751 20751 D AndroidRuntime: CheckJNI is OFF
10-29 20:16:08.648 20751 20751 D ICU     : No timezone override file found: /data/misc/zoneinfo/current/icu/icu_tzdata.dat
10-29 20:16:08.671 20751 20751 I Radio-JNI: register_android_hardware_Radio DONE
10-29 20:16:08.687 20751 20751 D AndroidRuntime: Calling main entry com.android.commands.input.Input
10-29 20:16:08.689 20751 20751 I Input   : injectKeyEvent: KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_DPAD_RIGHT, scanCode=0, metaState=0, flags=0x0, repeatCount=0, eventTime=15684816, downTime=15684816, deviceId=-1, source=0x101 }
10-29 20:16:08.696   663   803 E ANDR-PERF-MPCTL: invalid request, no optimizations performed
10-29 20:16:08.702 20751 20751 I Input   : injectKeyEvent: KeyEvent { action=ACTION_UP, keyCode=KEYCODE_DPAD_RIGHT, scanCode=0, metaState=0, flags=0x0, repeatCount=0, eventTime=15684816, downTime=15684816, deviceId=-1, source=0x101 }
10-29 20:16:08.717 27488 27488 D EmojiAltPhysicalKeyDetector: onKeyUp() : KeyEvent { action=ACTION_UP, keyCode=KEYCODE_DPAD_RIGHT, scanCode=0, metaState=0, flags=0x0, repeatCount=0, eventTime=15684816, downTime=15684816, deviceId=-1, source=0x101 }
10-29 20:16:08.717 27488 27488 D EmojiAltPhysicalKeyDetector: onKeyUp() : Not Mapped: 22
10-29 20:16:08.719 20751 20751 D AndroidRuntime: Shutting down VM
10-29 20:16:09.982 20761 20761 D AndroidRuntime: >>>>>> START com.android.internal.os.RuntimeInit uid 2000 <<<<<<
10-29 20:16:09.985 20761 20761 D AndroidRuntime: CheckJNI is OFF
10-29 20:16:10.014 20761 20761 D ICU     : No timezone override file found: /data/misc/zoneinfo/current/icu/icu_tzdata.dat
10-29 20:16:10.036 20761 20761 I Radio-JNI: register_android_hardware_Radio DONE
10-29 20:16:10.052 20761 20761 D AndroidRuntime: Calling main entry com.android.commands.input.Input
10-29 20:16:10.055 20761 20761 I Input   : injectKeyEvent: KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_DPAD_CENTER, scanCode=0, metaState=0, flags=0x0, repeatCount=0, eventTime=15686182, downTime=15686182, deviceId=-1, source=0x101 }
10-29 20:16:10.060   663   803 E ANDR-PERF-MPCTL: invalid request, no optimizations performed
10-29 20:16:10.065 20761 20761 I Input   : injectKeyEvent: KeyEvent { action=ACTION_UP, keyCode=KEYCODE_DPAD_CENTER, scanCode=0, metaState=0, flags=0x0, repeatCount=0, eventTime=15686182, downTime=15686182, deviceId=-1, source=0x101 }
10-29 20:16:10.069 27488 27488 D EmojiAltPhysicalKeyDetector: onKeyUp() : KeyEvent { action=ACTION_UP, keyCode=KEYCODE_DPAD_CENTER, scanCode=0, metaState=0, flags=0x0, repeatCount=0, eventTime=15686182, downTime=15686182, deviceId=-1, source=0x101 }
10-29 20:16:10.069 27488 27488 D EmojiAltPhysicalKeyDetector: onKeyUp() : Not Mapped: 23
10-29 20:16:10.073  1678  3224 D BackupManagerService: acknowledgeFullBackupOrRestore : token=73849797 allow=true
10-29 20:16:10.077 20761 20761 D AndroidRuntime: Shutting down VM
10-29 20:16:10.078  1678 20774 I BackupManagerService: --- Performing full-dataset adb backup ---
10-29 20:16:10.078  1678 20774 W ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.bindService:1295 com.android.server.backup.BackupManagerService$FullBackupObbConnection.establish:3177 com.android.server.backup.BackupManagerService$PerformAdbBackupTask.run:3812 java.lang.Thread.run:818 <bottom of call stack> 
10-29 20:16:10.082  1678 20774 D CryptdConnector: SND -> {689 cryptfs cryptocomplete}
10-29 20:16:10.083   454   464 E Cryptfs : not running with encryption, aborting
10-29 20:16:10.084  1678  2031 D CryptdConnector: RCV <- {200 689 1}
10-29 20:16:10.085  1678  3243 D BackupManagerService: Full backup processing complete.
10-29 20:16:10.086 20736 20736 D bu      : Finished.
10-29 20:16:10.086 20736 20736 D AndroidRuntime: Shutting down VM
10-29 20:16:10.088  1678 20774 D BackupManagerService: Full backup pass complete.
10-29 20:16:10.190 26995 26995 E RemoteViews: The method setOnClickFillInIntent is available only from RemoteViewsFactory (ie. on collection items).
10-29 20:16:10.285 19010 19010 I art     : Starting a blocking GC Explicit
10-29 20:16:10.298 19010 19010 I art     : Explicit concurrent mark sweep GC freed 2599(125KB) AllocSpace objects, 1(144KB) LOS objects, 40% free, 28MB/48MB, paused 95us total 12.168ms
10-29 20:16:10.304 19010 19010 I art     : Starting a blocking GC Explicit
10-29 20:16:10.317 19010 19010 I art     : Explicit concurrent mark sweep GC freed 1648(107KB) AllocSpace objects, 3(216KB) LOS objects, 40% free, 28MB/47MB, paused 78us total 12.041ms
10-29 20:16:10.317 19010 19010 I art     : Starting a blocking GC Explicit
10-29 20:16:10.328 19010 19010 I art     : Explicit concurrent mark sweep GC freed 1(32B) AllocSpace objects, 0(0B) LOS objects, 40% free, 28MB/47MB, paused 79us total 11.336ms
10-29 20:16:10.794 26995 27017 W OpenGLRenderer: Incorrectly called buildLayer on View: ShortcutAndWidgetContainer, destroying layer...
10-29 20:16:10.794 26995 27017 W OpenGLRenderer: Incorrectly called buildLayer on View: ShortcutAndWidgetContainer, destroying layer...
10-29 20:16:11.994  1678  2006 D sensors_hal_Ctx: poll:polldata:1, sensor:0, type:1, x:0.067032 y:0.963669 z:9.973053
10-29 20:16:11.994  1678  2006 D sensors_hal_Util: waitForResponse: timeout=0

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.