Loading...
Loading...
Compare original and translation side by side
npm install --global limlim loginLIM_API_KEY.envlim android <subcommand> --helpnpm install --global limlim loginLIM_API_KEY.envlim android <subcommand> --helplim android create--connect--open--no-open--no-connectlim android create--connect--open--no-open--no-connectlim gradle build . --upload myapp.apk
lim android create --install-asset myapp.apk --no-open --no-connect--reuse-if-exists--rm--jurisdiction us|eu|as--region--inactivity-timeout--hard-timeout--display-name--label k=vlim android list --label-selector k=vlim gradle build . --upload myapp.apk
lim android create --install-asset myapp.apk --no-open --no-connect--reuse-if-exists--rm--jurisdiction us|eu|as--region--inactivity-timeout--hard-timeout--display-name--label k=vlim android list --label-selector k=vlim android create --no-open --no-connect
lim android install-app ./app-debug.apk
lim android install-app https://example.com/app.apkinstall-applim android launch-app <package> --detach--detachpm list packages | grep <name>lim android sync ./app-debug.apk--watch--launch-mode ForegroundIfRunning|RelaunchIfRunninglim android create --no-open --no-connect
lim android install-app ./app-debug.apk
lim android install-app https://example.com/app.apkinstall-applim android launch-app <package> --detach--detachpm list packages | grep <name>lim android sync ./app-debug.apk--watch--launch-mode ForegroundIfRunning|RelaunchIfRunninglim androidlim android list # shows all instances and their IDs
lim android element-tree --id <that-id> # pass --id to EVERY lim android commandandroid_<region>_<ulid>--id <android-instance-id>lim androidgit init--idlim androidlim android list # 显示所有实例及其ID
lim android element-tree --id <that-id> # 为每个lim android命令传递--id参数android_<region>_<ulid>lim android--id <android-instance-id>git init--idlim android launch-app com.example.app --detach # launch and return
lim android launch-app com.example.app # launch and watch until it exits
lim android launch-app com.example.app --mode RelaunchIfRunning # restart for a clean state
lim android terminate-app com.example.app # stop it, e.g. to reset app state--detachlaunch-applist-appspm list packageslim android launch-app com.example.app --detach # 启动后立即返回
lim android launch-app com.example.app # 启动并等待直到应用退出
lim android launch-app com.example.app --mode RelaunchIfRunning # 重启以获得干净状态
lim android terminate-app com.example.app # 停止应用,例如重置应用状态--detachlaunch-applist-appspm list packagesadblim android connect # prints "Tunnel started on 127.0.0.1:<port>."connectadb connect--adb-path127.0.0.1:<port>-sadb devicesSERIAL=127.0.0.1:<port>
adb -s $SERIAL logcat -d | tail -100 # dump recent logs, don't stream into context
adb -s $SERIAL logcat -d --pid=$(adb -s $SERIAL shell pidof -s com.example.app) | tail -50 # only the app's logs (app must be running)
adb -s $SERIAL shell pm list packages | grep example # package name discovery
adb -s $SERIAL push ./fixture.json /sdcard/Download/
adb -s $SERIAL pull /sdcard/Download/out.json ./adb devicesofflinelim android connectadb disconnectadblim android connect # 打印“Tunnel started on 127.0.0.1:<port>.”connectadb connect--adb-path127.0.0.1:<port>-sadb devicesSERIAL=127.0.0.1:<port>
adb -s $SERIAL logcat -d | tail -100 # 导出最近的日志,不要流式传输到上下文
adb -s $SERIAL logcat -d --pid=$(adb -s $SERIAL shell pidof -s com.example.app) | tail -50 # 仅查看应用日志(应用必须处于运行状态)
adb -s $SERIAL shell pm list packages | grep example # 发现包名
adb -s $SERIAL push ./fixture.json /sdcard/Download/
adb -s $SERIAL pull /sdcard/Download/out.json ./adb devicesofflinelim android connectadb disconnectlim android element-treetextresource-idcontent-descboundslim android element-tree | sed 's/></>\n</g' | grep -i "save"lim android element-treetextresource-idcontent-descboundslim android element-tree | sed 's/></>\n</g' | grep -i "save"lim android tap-element --resource-id com.example.app:id/startButton
lim android tap-element --text "Save"
lim android tap-element --content-desc "Open menu"
lim android tap 360 800--text "Save"element-treeNo element found for selector--class-name--package-name--index--clickable--enabled--focused--bounds-contains-x/ysearchIcon--text--class-nameboundsfind-elementlim android find-element --text "Save" # table of matches with boundstypetap-element--class-name android.widget.EditText --focusedlim android type "hello world" --resource-id com.example.app:id/searchBox
lim android type "hello" --x 360 --y 400 # by coordinate
lim android press-key enter
lim android press-key backspace # --modifier shift/control/alt/command to combinelim android scroll down --amount 600
lim android scroll up --amount 300
lim android press-key back
lim android press-key home
lim android open-url "https://example.com" # opens in the default browser; also fires deep linkselement-treeelement-treeopen-urlelement-treeandroid.webkit.WebViewlim android element-treelim android tap-element --resource-id com.example.app:id/startButton
lim android tap-element --text "Save"
lim android tap-element --content-desc "Open menu"
lim android tap 360 800--text "Save"element-treeNo element found for selector--class-name--package-name--index--clickable--enabled--focused--bounds-contains-x/ysearchIcon--text--class-nameboundsfind-elementlim android find-element --text "Save" # 包含匹配项及其边界的表格typetap-element--class-name android.widget.EditText --focusedlim android type "hello world" --resource-id com.example.app:id/searchBox
lim android type "hello" --x 360 --y 400 # 通过坐标输入
lim android press-key enter
lim android press-key backspace # 使用--modifier shift/control/alt/command组合按键lim android scroll down --amount 600
lim android scroll up --amount 300
lim android press-key back
lim android press-key home
lim android open-url "https://example.com" # 在默认浏览器中打开;也支持打开深度链接element-treeelement-treeopen-urlelement-treeandroid.webkit.WebViewlim android element-treeelement-treetap-elementfind-elementtap x ytype --x --ylim android tap 360 1322element-treetap-elementfind-elementtap x ytype --x --ylim android tap 360 1322-olim android screenshot screenshot.png
lim android screenshot screenshot.png --id <android-instance-id>lim android record start # non-blocking
lim android record stop -o /tmp/recording.mp4record stop--quality 5-10-olim android screenshot screenshot.png
lim android screenshot screenshot.png --id <android-instance-id>lim android record start # 非阻塞
lim android record stop -o /tmp/recording.mp4record stop--quality 5-10lim android play-on-microphone ./fixtures/command.wav # loops by default
lim android play-on-microphone ./fixtures/command.mp3 --onceadb--adb-pathlim android play-on-microphone ./fixtures/command.wav # 默认循环播放
lim android play-on-microphone ./fixtures/command.mp3 --onceadb--adb-pathlim android set-wifi-bandwidth --down-kbps 1000 --up-kbps 500
lim android set-wifi-bandwidth --down-kbps 0 --up-kbps 0 # 0 clears the limitlim android set-wifi-bandwidth --down-kbps 1000 --up-kbps 500
lim android set-wifi-bandwidth --down-kbps 0 --up-kbps 0 # 0表示清除限制export ASSET_NAME=myapp.apk # can be any name
lim asset push ./app-debug.apk -n ${ASSET_NAME}
echo "https://console.limrun.com/preview?asset=${ASSET_NAME}&platform=android"export ASSET_NAME=myapp.apk # 可为任意名称
lim asset push ./app-debug.apk -n ${ASSET_NAME}
echo "https://console.limrun.com/preview?asset=${ASSET_NAME}&platform=android"delete--idlim android delete <android-instance-id>delete--idlim android delete <android-instance-id>x86_64,arm64-v8aUnsatisfiedLinkErrortap-element --textfind-element --textelement-treeinstall-appfind-elementpm list packagesinstall-app <URL>create --install-assetadb installadb installlim android connectcreatelim android listelement-treegrep--idx86_64,arm64-v8aUnsatisfiedLinkErrortap-element --textfind-element --textelement-treeinstall-appfind-elementpm list packagesinstall-app <URL>create --install-assetadb installadb installlim android connectcreatelim android listelement-treegrep--id