Ουι*_*ευα 22 android adb android-emulator android-sdk-manager flutter
这个问题很头疼,所以我想分享我的解决方案。它开始安装 Android SDK(不安装 Android Studio)、Dart 和 Flutter 的要求,并最终在 Windows 主机上运行 Flutter 应用程序。
==================
==================
$ lsb_release -a
Distributor ID: Ubuntu
Description: Ubuntu 20.04 LTS
Release: 20.04
Codename: focal
Run Code Online (Sandbox Code Playgroud)
$ sudo apt-get update && sudo apt-get upgrade
$ sudo apt-get install apt-transport-https
$ sudo sh -c 'wget -qO- https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -'
$ sudo sh -c 'wget -qO- https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > /etc/apt/sources.list.d/dart_stable.list'
$ sudo apt-get update
$ sudo apt-get install dart
$ echo "export PATH=\"/usr/lib/dart/bin:$PATH\"" >> ~/.bashrc
$ source ~/.barshrc
$ dart --version
Dart VM version: 2.8.4 (stable) (Unknown timestamp) on "linux_x64"
Run Code Online (Sandbox Code Playgroud)
===>>>注意:Dart SDK与Flutter捆绑在一起
获取仅适用于 Android (Linux) 的命令行工具。
$ sudo apt install -y lib32z1 default-jdk git unzip zip
$ cd ~/Downloads
$ unzip commandlinetools-linux-6609375_latest.zip
$ rm commandlinetools-linux-6609375_latest.zip
$ mkdir -p Android/cmdline-tools
$ mv tools/ Android/cmdline-tools/
$ mv Android/ ~/Programs/
Run Code Online (Sandbox Code Playgroud)
将以下行附加到.bashrc文件:
# Android
export ANDROID_SDK_ROOT=$HOME/Programs/Android
export PATH=$ANDROID_SDK_ROOT/cmdline-tools/tools:$PATH
export PATH=$ANDROID_SDK_ROOT/cmdline-tools/tools/bin:$PATH
export PATH=$ANDROID_SDK_ROOT/cmdline-tools/tools/lib:$PATH
export PATH=$ANDROID_SDK_ROOT/platform-tools:$PATH
export PATH=$ANDROID_SDK_ROOT/emulator:$PATH
# Java
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
Run Code Online (Sandbox Code Playgroud)
继续安装
$ cd ~
$ source .bashrc
$ sdkmanager --version
4.0.1
$ sdkmanager --list
$ sdkmanager --install "system-images;android-29;google_apis;x86" "platform-tools" "platforms;android-29" "build-tools;29.0.3"
$ sdkmanager --install "cmdline-tools;latest"
$ sdkmanager --update
$ sdkmanager --list | sed -e '/^$/q'
$ sdkmanager --licenses
Run Code Online (Sandbox Code Playgroud)
接受所有许可。
$ cd ~/Downloads
$ wget https://storage.googleapis.com/flutter_infra/releases/stable/linux/flutter_linux_1.17.5-stable.tar.xz
$ cd ~/Programs
$ tar xf ~/Downloads/flutter_linux_1.17.5-stable.tar.xz
$ cd ~
$ echo "export PATH=$HOME/Programs/flutter/bin:$PATH" >> .bashrc
$ source .bashrc
$ flutter --version
Flutter 1.17.5 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 8af6b2f038 (11 days ago) • 2020-06-30 12:53:55 -0700
Engine • revision ee76268252
Tools • Dart 2.8.4
$ flutter config --android-sdk $ANDROID_SDK_ROOT
Run Code Online (Sandbox Code Playgroud)
$ cd ~
$ curl -s "https://get.sdkman.io" | bash
$ source .sdkman/bin/sdkman-init.sh
$ sdk v
SDKMAN 5.8.3+506
$ sdk install gradle 6.5.1
$ gradle -v
$ avdmanager list
$ echo "no" | avdmanager --verbose create avd --force --name "generic_10" --package "system-images;android-29;google_apis;x86" --tag "google_apis" --abi "x86"
Run Code Online (Sandbox Code Playgroud)
在~/.android/avd/generic_10.avd/config.ini文件中添加/修改这些行:
skin.name=1080x1920
hw.lcd.density=480
hw.keyboard=yes
Run Code Online (Sandbox Code Playgroud)
检查模拟器创建:
$ emulator -list-avds
Run Code Online (Sandbox Code Playgroud)
==================
==================
> Get-ComputerInfo -Property "WindowsProductName"
Windows 10 Pro
> Get-ComputerInfo -Property "WindowsVersion"
2004
> Get-ComputerInfo -Property "OsBuildNumber"
19041
> Get-ComputerInfo -Property "OsArchitecture"
64-bit
> Get-NetIPAddress -AddressFamily IPv4 -InterfaceAlias Ethernet|findstr IPAddress
IPAddress : 192.168.0.29
Run Code Online (Sandbox Code Playgroud)
获取仅适用于 Android (Windows) 的命令行工具。
后续步骤与在 WSL2 上安装 Android SDK部分基本相同,如有任何疑问,您可以阅读此页面以供参考。
要在 Windows 中安装Gradle,请按照本页中的说明进行操作。其余步骤与在 WSL2 上创建模拟器部分中的相同,其中~指出您在 Windows 中的主文件夹。
您可以使用adb和emulator工具使用任何端口,但如果他们使用默认端口自行管理它会更简单。对于adb工具,它的默认端口是 5037。IP Helper服务使用该端口(在我的情况下),所以我不得不停止它。
打开终端并检查端口 5037 的状态:
> netstat -aon|findstr 5037
Run Code Online (Sandbox Code Playgroud)
运行这些命令:
> adb kill-server
> adb -a -P 5037 nodaemon server
Run Code Online (Sandbox Code Playgroud)
打开另一个终端(不要关闭前一个)并运行:
> emulator -avd generic_10
Run Code Online (Sandbox Code Playgroud)
打开另一个终端(不要关闭以前的终端)并运行:
> adb devices
List of devices attached
emulator-5554 device
Run Code Online (Sandbox Code Playgroud)
==================
==================
adb$ echo "export ADB_SERVER_SOCKET=tcp:192.168.0.29:5037" >> ~/.bashrc
$ source ~/.bashrc
$ adb devices
List of devices attached
emulator-5554 device
Run Code Online (Sandbox Code Playgroud)
$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[?] Flutter (Channel stable, v1.17.5, on Linux, locale C.UTF-8)
[?] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
[!] Android Studio (not installed)
[?] Connected device (1 available)
! Doctor found issues in 1 category.
$ flutter create hello_world
$ cd hello_world
$ flutter run
Run Code Online (Sandbox Code Playgroud)
==================
==================
.
[wsl2]
memory=4GB # Limits VM memory in WSL 2 to 4 GB
swap=0
Run Code Online (Sandbox Code Playgroud)
====================
====================
小智 1
如果您像我一样,那么在让 adb 工作时您会遇到很多问题。您需要确保 Windows 主机和 linux 映像都具有相同版本的 adb。遵循本指南https://www.androidexplained.com/install-adb-fastboot/#update帮助我在 Windows 上更新 adb。
| 归档时间: |
|
| 查看次数: |
6460 次 |
| 最近记录: |