这篇文章上次修改于 968 天前,可能其部分内容已经发生变化,如有疑问可询问作者。

title: "README.termux.md"
author: "andy"
description: "description information"
date: "2016-09-28"

lastmod: "2023-11-28"


树莓派更换国内镜像源

Android关闭系统锁屏

  • 昨晚探索了一下Android系统内的目录,意外发现系统锁屏的数据库

  • 使用adb shell进入系统根目录

  • adb shell

  • su

  • adb shell

  • su
  • sqlite3 data/system/locksettings.db
  • select * from locksettings;
  • update locksettings set value=1 where name='lockscreen.disable';
  • .quit
  • 机器重启后直接进入系统默认App,电源键关屏幕后也不需要划屏开机

  • 电源按键

  • adb shell input keyevent 26

  • 屏幕亮度

  • echo 0 > /sys/class/leds/lcd-backlight/brightness
  • echo 255 > /sys/class/leds/lcd-backlight/brightness

  • 获取系统默认输入法

  • 默认搜狗输入法

  • C:\Users\Administrator>adb shell settings get secure default_input_method

  • com.sohu.inputmethod.sogouoem/.SogouIME

  • 默认为Appium使用中文输入时安装的输入法

  • C:\Users\Administrator>adb shell settings get secure default_input_method

  • put命令更改默认输入法(将io.appium.android.ime/.UnicodeIME改成com.sohu.inputmethod.sogouoem/.SogouIME)

  • C:\Users\Administrator>adb shell settings put secure default_input_method com.sohu.inputmethod.sogouoem/.SogouIME

  • 获取亮度是否为自动获取

  • C:\Users\Administrator>adb shell settings get system screen_brightness_mode

  • 获取当前亮度值

  • C:\Users\Administrator>adb shell settings get system screen_brightness

  • 更改亮度值(亮度值在0—255之间)

  • C:\Users\Administrator>adb shell settings put system screen_brightness 150

  • 获取屏幕休眠时间

  • C:\Users\Administrator>adb shell settings get system screen_off_timeout

  • 更改休眠时间,10分钟

  • C:\Users\Administrator>adb shell settings put system screen_off_timeout 600000

  • 获取日期时间选项中经过网络获取时间的状态,1为容许、0为不容许

  • C:\Users\Administrator>adb shell settings get global auto_time

  • 更改该状态,从1改成0

  • C:\Users\Administrator>adb shell settings put global auto_time 0

  • 以及获取、修改wifi状态(wifi_on)、飞行模式(airlpane_mode_on)等,这里也是appium中getNetworkConnection得到设备网络状态的方法。

  • adb shell settings help

  • adb shell settings list system
  • adb shell settings list secure
  • adb shell settings list global

  • apt install openssh

  • sshd -p 8022
  • echo "sshd -p 8022" >> ~/.bashrc
  • apt install tsu
  • tsu
  • passwd
  • ssh root@192.168.1.165

  • apt edit-sources

  • vi $PREFIX/etc/apt/sources.list
  • pkg update
  • pkg install vim curl wget git unzip unrar
  • pkg install vim clang python gdb cgdb curl
  • pkg install tsu

  • vim /data/data/com.termux/files/usr/etc/apt/sources.list

  • deb https://mirrors.ustc.edu.cn/termux stable main
  • sed -i 's@^(deb.*stable main)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux stable main@' $PREFIX/etc/apt/sources.list
  • sed -i 's@^(deb.*stable main)$@#\1\ndeb https://mirrors.ustc.edu.cn/termux stable main@' $PREFIX/etc/apt/sources.list
  • sed -i 's@^(deb.*stable main)$@#\1\ndeb https://termux.net/ stable main@' $PREFIX/etc/apt/sources.list
  • apt clean
  • pkg up

  • echo "sshd" >> ~/.bashrc

  • echo "sshd -p 8022" >> ~/.bashrc
  • echo "sshd" >> ~/.bashrc

  • sshd -p 8022

  • ssh u0_a123@localhost -p 8022

  • pkg install termux-api

  • pkg install python2
  • pkg install nodejs
  • pkg install mariadb
  • pkg install nginx
  • pkg install aria2
  • pkg install clang

  • fuser -k 8080/tcp

  • pkg install nyancat

  • nyancat

  • F8(音量+键 + 8) 编译

  • F9(音量+键 + 9) 运行
  • F10(音量+键 + 0) 编译并运行

  • termux

  • apt install openssh

  • sshd -p 8022
  • echo "sshd -p 8022" >> ~/.bashrc
  • apt install tsu
  • tsu
  • passwd
  • ssh root@192.168.1.165

  • apt edit-sources

  • vi $PREFIX/etc/apt/sources.list
  • pkg update
  • pkg install vim curl wget git unzip unrar
  • pkg install vim clang python gdb cgdb curl
  • pkg install tsu

  • vim /data/data/com.termux/files/usr/etc/apt/sources.list

  • deb https://mirrors.ustc.edu.cn/termux stable main
  • sed -i 's@^(deb.*stable main)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux stable main@' $PREFIX/etc/apt/sources.list
  • sed -i 's@^(deb.*stable main)$@#\1\ndeb https://mirrors.ustc.edu.cn/termux stable main@' $PREFIX/etc/apt/sources.list
  • sed -i 's@^(deb.*stable main)$@#\1\ndeb https://termux.net/ stable main@' $PREFIX/etc/apt/sources.list
  • apt clean
  • pkg up

  • echo "sshd" >> ~/.bashrc

  • echo "sshd -p 8022" >> ~/.bashrc
  • echo "sshd" >> ~/.bashrc

  • sshd -p 8022

  • ssh u0_a123@localhost -p 8022

  • pkg install termux-api

  • pkg install python2
  • pkg install nodejs
  • pkg install mariadb
  • pkg install nginx
  • pkg install aria2
  • pkg install clang

  • fuser -k 8080/tcp

  • pkg install nyancat

  • nyancat

  • setprop persist.sys.usb.config mtp,adb

  • setprop persist.sys.usb.config none

  • export PATH=/data/local/tmp/buster/bin:$PATH

  • chroot buster/ /bin/bash
  • export PATH=/usr/local/sbin:/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin:
  • export HOME=/root

  • unset LD_PRELOAD

  • export PATH=/data/local/tmp/buster/bin:$PATH
  • cd /data/local/tmp
  • exec proot --link2symlink -0 -r buster -b /dev -b /proc -w /root /usr/bin/env -i HOME=/root PATH=/usr/local/sbin:/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin: TERM=xterm-256color LANG=C.UTF-8 /bin/bash --login

  • unset LD_PRELOAD

  • export PATH=/data/local/tmp:/data/local/tmp/ubuntu-fs/bin:$PATH
  • cd /data/local/tmp
  • export LD_LIBRARY_PATH=/data/local/tmp
  • export PROOT_TMP_DIR=/data/local/tmp/ubuntu-fs/tmp
  • exec proot --link2symlink -0 -r ubuntu-fs -b /dev -b /proc -w /root /usr/bin/env -i HOME=/root PATH=/usr/local/sbin:/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin: TERM=xterm-256color LANG=C.UTF-8 /bin/bash --login

  • export TERM=xterm-256color

  • cd /data/local/tmp

  • export PATH=/data/local/tmp:$PATH
  • export LD_LIBRARY_PATH=/data/local/tmp
  • export PROOT_TMP_DIR=/data/local/tmp/ubuntu-fs/tmp
  • exec proot --link2symlink -0 -r ubuntu-fs -b /dev -b /proc -w /root /usr/bin/env -i HOME=/root PATH=/usr/local/sbin:/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin: TERM=xterm-256color LANG=C.UTF-8 /bin/bash --login

  • proot error: execve("/usr/bin/env"): Permission denied

  • proot info: possible causes:
    • the program is a script but its interpreter (eg. /bin/sh) was not found;
    • the program is an ELF but its interpreter (eg. ld-linux.so) was not found;
    • the program is a foreign binary but qemu was not specified;
    • qemu does not work correctly (if specified);
    • the loader was not found or doesn't work.
  • fatal error: see proot --help.

------ 真心累,好难配 ------

安卓adb官方下载地址

  • ADB和Fastboot for Windows
  • https://dl.google.com/android/repository/platform-tools-latest-windows.zip
  • ADB和Fastboot for Mac
  • https://dl.google.com/android/repository/platform-tools-latest-darwin.zip
  • ADB和Fastboot for Linux
  • https://dl.google.com/android/repository/platform-tools-latest-linux.zip

  • cat data/system/users/0/runtime-permissions.xml

  • https://bigota.d.miui.com/V12.0.1.0.QEDRUXM/miui_NITROGENRUGlobal_V12.0.1.0.QEDRUXM_ea7b3b949e_10.0.zip

  • https://bigota.d.miui.com/V12.0.1.0.QEDMIXM/miui_MIMAX3Global_V12.0.1.0.QEDMIXM_83ae0d72cd_10.0.zip

  • cmake -DCMAKE_TOOLCHAIN_FILE=/home/andy/Android/Sdk/ndk/21.2.6472646/build/cmake/android.toolchain.cmake -DANDROID_NDK=/home/andy/Android/Sdk/ndk/21.2.6472646/ -DCMAKE_BUILD_TYPE=Release -DANDROID_ABI="arm64-v8a" -DANDROID_PLATFORM="27" ./ && cmake --build ./

  • adb shell pm list package

  • import os

  • import sys
  • import platform
  • os.name # 'posix'
  • sys.platform # 'linux2'
  • platform.machine() # 'x86_64'
  • bool(sys.maxsize > 2 ** 32) # True

  • export PATH=/data/data/com.termux/files/usr/bin:$PATH

  • adb shell LD_LIBRARY_PATH=/data/local/tmp /data/local/tmp/minicap -h

  • LD_LIBRARY_PATH=. ./minicap -h

  • LD_LIBRARY_PATH=. ./minicap -P 1080x1920@1080x1920/0 -t

  • wget https://mirrors.tuna.tsinghua.edu.cn/archlinuxarm/os/ArchLinuxARM-aarch64-latest.tar.gz

  • wget https://mirrors.tuna.tsinghua.edu.cn/ubuntu-cdimage/ubuntu-base/releases/18.04.4/release/ubuntu-base-18.04-base-arm64.tar.gz

  • !/data/data/com.termux/files/usr/bin/bash

  • cd $(dirname $0)
  • ## unset LD_PRELOAD in case termux-exec is installed
  • unset LD_PRELOAD

  • vim ubuntu-fs/etc/resolv.conf

  • nameserver 8.8.8.8
  • nameserver 114.114.114.114

  • vim ubuntu-fs/etc/apt/sources.list

  • deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main restricted
  • deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted
  • deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic universe
  • deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates universe

  • proot -w /home -b /dev -b /proc --link2symlink -0 -r ~/boost /bin/true

  • pkg install debootstrap proot

  • debootstrap --arch=armel stretch stretch http://ftp.debian.org/debian/.
  • debootstrap --arch=armel stable stable http://ftp.debian.org/debian/ .

  • !/data/data/com.termux/files/usr/bin/sh

  • proot -0 -r ~/boost -b /dev/ -b /sys/ -b /proc/ -b /data/data/com.termux/files/home /bin/env -i HOME=/root TERM="xterm-256color" PS1='[root@stretch \W]$ ' PATH=/bin:/usr/bin:/sbin:/usr/sbin:/bin /bin/bash --login

  • chmod 700 start.sh

  • ./start.sh +enter/return

  • /data/data/com.termux/files/usr/libexec/termux-api BatteryStatus

  • /data/data/com.termux/files/usr/libexec/termux-api Brightness
  • /data/com.termux/files/usr/libexec/termux-api Brightness --ei brightness 15 --ez auto false

  • cd /data/data/com.termux/files/home/workspace/

  • dalvikvm -cp HelloWorld.dex HelloWorld

  • dalvikvm -cp classes.dex HelloWorld

  • pkg install ecj dx termux-tools

  • # ecj HelloWorld.java
  • # dx --dex --output=HelloWorld.dex
  • dalvikvm -cp HelloWorld.dex HelloWorld

  • ecj HelloWorld.java

  • dx --dex --output=HelloWorld.dex HelloWorld.class
  • dalvikvm -cp HelloWorld.dex HelloWorld

  • ecj TermuxApiReceiver.java

  • dx --dex --output=TermuxApiReceiver.dex TermuxApiReceiver.class
  • dalvikvm -cp TermuxApiReceiver.dex TermuxApiReceiver

  • https://redirector.gvt1.com/edgedl/android/studio/ide-zips/3.6.1.0/android-studio-ide-192.6241897-linux.tar.gz

  • /media/andy/DEVS/dev/android/ndk-samples-master/native-activity/gradle/wrapper/gradle-wrapper.properties

  • distributionUrl=https://services.gradle.org/distributions/gradle-5.4.1-all.zip
  • distributionUrl=file:///home/andy/app_linux/gradle-4.10.1-all.zip
  • distributionUrl=file:///home/andy/app_linux/gradle-5.4.1-all.zip
  • distributionUrl=file:///home/andy/app_linux/gradle-6.1.1-all.zip

  • taka-no-me / android-cmake

  • cmake -DCMAKE_TOOLCHAIN_FILE=android.toolchain.cmake -DANDROID_NDK= -DCMAKE_BUILD_TYPE=Release -DANDROID_ABI="armeabi-v7a with NEON" && cmake --build

  • cmake -DCMAKE_TOOLCHAIN_FILE=/home/andy/app_linux/android-ndk-r18b/build/cmake/android.toolchain.cmake -DANDROID_NDK=/home/andy/app_linux/android-ndk-r18b -DCMAKE_BUILD_TYPE=Release -DANDROID_ABI="arm64-v8a" -DANDROID_PLATFORM="18" ./ && cmake --build ./

  • cmake -DCMAKE_TOOLCHAIN_FILE=/home/andy/Android/Sdk/ndk/21.2.6472646/build/cmake/android.toolchain.cmake -DANDROID_NDK=/home/andy/Android/Sdk/ndk/21.2.6472646 -DCMAKE_BUILD_TYPE=Release -DANDROID_ABI="arm64-v8a" -DANDROID_PLATFORM="24" ../ && cmake --build ./

  • cmake --build . --clean-first

  • pkg install clang

  • pkg install nyancat
  • pkg install python2
  • pkg install nodejs
  • pkg install mariadb

  • pkg install ecj

  • pkg install dx

  • ecj HelloWorld.java

  • dx --dex --output=HelloWorld.dex HelloWorld.class
  • dalvikvm -cp HelloWorld.dex HelloWorld

  • javac HelloWorld.java

  • dx --dex --output=classes.dex HelloWorld.class
  • zip HelloWorld.zip classes.dex
  • adb push HelloWorld.zip /sdcard/
  • adb shell mkdir /sdcard/dalvik-cache
  • adb shell ANDROID_DATA=/sdcard dalvikvm -cp /sdcard/HelloWorld.zip HelloWorld

  • aapt package -f -m -J gen -S res -I E:\sdk\platforms\android-19\android.jar -M AndroidManifest.xml

  • javac -encoding UTF-8 -target 1.6 -bootclasspath E:\sdk\platforms\android-19\android.jar -d bin src\com\demo\www*.java gen\com\demo\www\R.java

  • aapt package -f -m -J ./gen -S res -M AndroidManifest.xml -I D:\android.jar

  • aapt package -f -m -J ./gen -S res -I /home/tonywang/sdk/platforms/android-23/android.jar -M AndroidManifest.xml

  • 1098 ./sdkmanager --sdk_root=/home/andy/Android/Sdk --install "build-tools;27.0.3"

  • 1099 ./sdkmanager --sdk_root=/home/andy/Android/Sdk --install "platforms;android-27"
  • 1100 ./sdkmanager --sdk_root=/home/andy/Android/Sdk --install "system-images;android-27;default;x86_64"
  • 1101 ./sdkmanager --sdk_root=/home/andy/Android/Sdk --install "emulator"
  • 1102 ./sdkmanager --sdk_root=/home/andy/Android/Sdk --list
  • 1103 ./sdkmanager --sdk_root=/home/andy/Android/Sdk --install "platform-tools"
  • 1104 ./sdkmanager --sdk_root=/home/andy/Android/Sdk --install "platform-tools" | grep 26.1.1
  • 1105 ./sdkmanager --sdk_root=/home/andy/Android/Sdk --install "platform-too
  • 1106 ./sdkmanager --sdk_root=/home/andy/Android/Sdk --list | grep 26.1.1
  • 1107 ./sdkmanager --sdk_root=/home/andy/Android/Sdk --list | grep ools
  • 1108 ./sdkmanager --sdk_root=/home/andy/Android/Sdk --list | grep tools
  • 1109 ./sdkmanager --sdk_root=/home/andy/Android/Sdk --install "tools"
  • 1110 ./sdkmanager --sdk_root=/home/andy/Android/Sdk --help

  • cd /home/andy/app_linux/cmdline-tools/bin/

  • ./sdkmanager --list --sdk_root=/home/andy/Android/Sdk

  • ./sdkmanager --sdk_root=/home/andy/Android/Sdk --install "build-tools;27.0.3"

  • ./sdkmanager --sdk_root=/home/andy/Android/Sdk --install "platforms;android-27"

  • android create project

  • --target
  • --name <项目名称>
  • --path <项目的路径>
  • --activity <Activity的名称>
  • --package <项目的包名>

  • strace android create project --target 24 --path native-camera --package com.liuzongandy.nativeCamera --activity NativeCamera

  • ./gradlew assembleRelease 简写为:./gradlew aR

  • ./gradlew tasks --all
  • gradlew :app:dependencies
  • ./gradlew installDebug
  • ./gradlew build --info
  • ./gradlew build --info --debug --stacktrace
  • ./gradlew clean --refresh-dependencies build

  • /home/andy/app_linux/android-ndk-r18b/

  • export ANDROID_NDK=/home/andy/app_linux/android-ndk-r18b/

  • export ANDROID_SDK=/home/andy/app_linux/android-studio/

  • adb shell

  • su
  • cd /data/data/com.termux/files/home/jails/ubuntu/

  • export PATH=/data/data/com.termux/files/usr/bin:$PATH

  • unset LD_PRELOAD

  • exec proot --link2symlink -0 -r ubuntu-fs -b /dev -b /proc -w /root /usr/bin/env -i HOME=/root PATH=/usr/local/sbin:/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin: TERM=xterm-256color LANG=C.UTF-8 /bin/bash --login

  • LD_LIBRARY_PATH=. exec ./proot --link2symlink -0 -r deb-fs -b /dev -b /proc -b debn/tmp:/tmp -w /root /usr/bin/env -i HOME=/root PATH=/usr/local/sbin:/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin: TERM=xterm-256color LANG=C.UTF-8 /bin/bash --login

  • export PATH=/data/local/tmp/deb-fs/usr/bin:/data/local/tmp:$PATH

  • exec proot --link2symlink -0 -r deb-fs -b /dev -b /proc -w /root /usr/bin/env -i HOME=/root PATH=/usr/local/sbin:/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin: TERM=xterm-256color LANG=C.UTF-8 /bin/bash --login

  • 2055 adb shell dumpsys window | findstr mCurrentFocus

  • 2056 adb shell dumpsys window | grep mCurrentFocus
  • 2057 adb shell pm list packages -f
  • 2065 adb shell input swipe 300 100 300 500
  • 2081 adb logcat *:I
  • 2093 adb logcat -s "native-activity"
  • 2094 ./gradlew installDebug

  • 模拟滑动触屏操作

  • adb shell input touchscreen swipe 930 880 930 380 //向上滑
  • adb shell input touchscreen swipe 930 880 330 880 //向左滑
  • adb shell input touchscreen swipe 330 880 930 880 //向右滑
  • adb shell input touchscreen swipe 930 380 930 880 //向下滑
  • 模拟鼠标操作
  • adb shell input mouse tap 100 500

  • adb shell input keyevent 19 (方向上键)

  • adb shell input keyevent 20 (方向下键)
  • adb shell input keyevent 21 (方向左键)
  • adb shell input keyevent 22 (方向右键)
  • adb shell input keyevent 23 (方向下键)
  • adb shell input keyevent 61 (TAB键)
  • adb shell input keyevent 66 (确定键)
  • adb shell input keyevent 3 (返回键)
  • adb shell input keyevent HOME (方向下键)
  • adb shell input keyevent MENU (菜单键)
  • adb shell input keyevent BACK (返回键)
  • adb shell input keyevent CAMERA (拍照键)
  • adb shell input keyevent POWER (电源键)

  • 1996 adb install Magisk_V23.0.apk

  • 1997 adb shell
  • 1998 adb shell pm start com.example.native_activity
  • 1999 adb shell am start -n com.example.native_activity/com.example.native_activity
  • 2000 adb shell am start -n com.android.music/com.android.music.MusicBrowserActivity
  • 2001 adb shell pm list package -f
  • 2002 adb shell pm list package -f | grep nat
  • 2003 adb shell dumpsys package com.example.native_activity
  • 2004 adb shell am start -n com.example.native_activity/android.app.NativeActivity
  • 2005 adb shell
  • 2006 adb shell input keyevent 26
  • 2007 dumpsys power | grep mScreenOn
  • 2008 adb shell dumpsys power | grep mScreenOn
  • 2009 adb shell dumpsys power
  • 2010 adb shell dumpsys power | grep een
  • 2011 adb shell dumpsys power | grep mScreenOn
  • 2012 adb shell dumpsys power
  • 2013 adb shell screencap -p /sdcard/screenshots/01.png
  • 2014 adb shell screencap -p /sdcard/Andy/01.png
  • 2016 adb shell input keyevent 224
  • 2017 pwd
  • 2018 ll
  • 2019 adb logcat *:W

  • adb shell am start -n <com.package.name>/<com.package.name.ActivityName>

  • adb shell pm list packages -f
  • adb shell dumpsys activity
  • adb shell am force-stop cn.com.conversant.swiftsync.android
  • adb shell am kill com.android.browser
  • adb shell am start -n com.android.settings/com.android.settings.Settings

  • dumpsys window windows | grep Current

  • am start -n com.termux/com.termux.app.TermuxActivity
  • am start -a android.intent.action.CALL -d tel:10010
  • am start -n com.android.camera/com.android.camera.Camera
  • am start -a android.intent.action.VIEW -d http://www.google.cn/
  • am start -a android.intent.action.CALL -d tel:10086
  • am start -a android.intent.action.VIEW geo:0,0?q=beijing
  • am start -n com.example.native_activity/android.app.NativeActivity

  • service ftpServer /data/data/com.termux/files/home/workspace/ftpServer

  • class main
  • user root
  • group root
  • oneshot

  • on property:sys.boot_completed=1

  • start ftpServer

  • mount -o rw -o remount /dev/block/actb /

  • https://f-droid.org/repo/com.termux.api_47.apk

  • https://f-droid.org/repo/com.termux.api_46.apk

  • adb tcpip 5555 (端口号)

  • adb connect 192.168.1.100 (Android设备IP地址)

  • adb usb 使用回usb调试

  • adb -s 192.168.1.142:5555 shell

  • adb devices
  • adb -s 6016958b shell
  • adb shell

  • TCP/IP方式:

  • setprop service.adb.tcp.port 5555
  • stop adbd
  • start adbd

  • usb方式:

  • setprop service.adb.tcp.port -1
  • stop adbd
  • start adbd

  • /init.rc

  • /default.prop
  • /system/build.prop

  • ANDROID_NDK

  • NDK_ROOT

  • https://dl.google.com/android/repository/android-ndk-r17c-windows-x86.zip

  • https://dl.google.com/android/repository/android-ndk-r17c-windows-x86_64.zip
  • https://dl.google.com/android/repository/android-ndk-r17c-darwin-x86_64.zip
  • https://dl.google.com/android/repository/android-ndk-r17c-linux-x86_64.zip

翻不了墙的话,可以用迅雷下载