Android
shortcut:
https://developer.android.com/studio/intro/keyboard-shortcuts
maven 国内mirror
buildscript {
repositories {
maven { url 'https://maven.aliyun.com/repository/public' }
maven { url 'https://maven.aliyun.com/repository/central' }
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
google()
jcenter()
}
dependencies {
classpath "com.android.tools.build:gradle:4.0.1"
}
}
allprojects {
repositories {
maven { url 'https://maven.aliyun.com/repository/public' }
maven { url 'https://maven.aliyun.com/repository/central' }
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
google()
jcenter()
}
}
命令行中打包的时候,切换java 的版本
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
./gradlew assembleRelease --stacktrace
无线控制app
adb tcpip 5555
adb connect 10.8.28.213:5555
RN android 真机调试
adb reverse tcp:8081 tcp:8081
android 模拟器连网
export ANDROID_SDK=$HOME/Library/Android/sdk
export PATH=$ANDROID_SDK/emulator:$ANDROID_SDK/tools:$PATH
emulator -list-avds
emulator @Nexus_S_API_30 -dns-server 8.8.8.8
emulator -avd NameOfYourDevice -dns-server 8.8.8.8 // 这种写法有问题
android app 抓包工具
https://techwiser.com/wireshark-alternatives-for-android/
录屏
https://github.com/Genymobile/scrcpy
brew install scrcpy
小米手机设置 proxyman (charles 代理)
#!/usr/bin/env python
import ipaddress
import uiautomator2 as u2
import subprocess
def get_ip():
args = "ifconfig | grep 'inet.*netmask.*broadcast' | awk '{print $2}'"
out, err = subprocess.Popen(
args, shell=True, stdout=subprocess.PIPE).communicate()
out = out.decode('UTF-8').strip("\n")
return out
ip_address = get_ip()
d = u2.connect() # connect to device
# d = u2.connect_adb_wifi("10.8.28.213")
print(d.info)
bundle_id = "com.android.settings"
d.app_stop(bundle_id)
d.app_start(bundle_id)
d(text="WLAN").click()
d(resourceId="com.android.settings:id/preference_detail").click()
d(resourceId="com.android.settings:id/proxy_settings_title").click()
d(text="手动").click()
d.swipe_ext("up", scale=0.8)
d.set_clipboard(ip_address)
d(resourceId="com.android.settings:id/proxy_hostname").send_keys("")
d(resourceId="com.android.settings:id/proxy_hostname").long_click()
d(text="粘贴").click()
d.set_clipboard("9090")
d(resourceId="com.android.settings:id/proxy_port").send_keys("")
d(resourceId="com.android.settings:id/proxy_port").long_click()
d(text="粘贴").click()
d(resourceId="android:id/button2").long_click()
xml = d.dump_hierarchy()
print(xml)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix