วิ่งพลิ้ว: ไม่มีอุปกรณ์ที่เชื่อมต่อ


227

ฉันกำลังพยายามสร้างแอปพลิเคชันตัวอย่างพร้อมติดตั้ง android studio แบบกระพือ (ติดตั้งใหม่) (ติดตั้งใหม่)

นี่คือผลลัพธ์ของ flutter run

flutter run  
No connected devices.

ผลลัพธ์ของ flutter doctor

Doctor summary (to see all details, run flutter doctor -v):
[] Flutter (Channel beta, v0.1.5, on Linux, locale en_US.UTF-8)
[] Android toolchain - develop for Android devices (Android SDK 27.0.3)
[] Android Studio (version 3.0)
[!] VS Code (version 1.20.1)
[!] Connected devices
! No devices available

! Doctor found issues in 2 categories.

มีวิธีแก้ไขปัญหานี้หรือไม่?


8
คุณมีอุปกรณ์ที่เชื่อมต่อ (เปิดใช้งานการดีบัก USB) หรือโปรแกรมจำลองการทำงานหรือไม่?
GünterZöchbauer

ทำflutter devicesเพื่อตรวจสอบว่ากระพือสามารถค้นหาอุปกรณ์ใด ๆ หรือไม่
denvercoder9

ข้อผิดพลาด "ไม่มีอุปกรณ์ที่เชื่อมต่อ" หมายความว่าคุณไม่ได้เปิดใช้งานตัวเลือกนักพัฒนาซอฟต์แวร์บนอุปกรณ์ของคุณ
Shomu

สำหรับฉันสิ่งนี้เกิดขึ้นประมาณ 1 นาทีจากนั้นดูเหมือนว่าจะถูกต้อง Android studio ทำงานได้ดีในทันที แต่ Flutter ดูเหมือนจะช้าเกินไปในทุกเรื่องรวมถึงการจำอีมูเลเตอร์ อาจลองใช้ความอดทนและกลับมาหลังจากดื่มกาแฟสักถ้วย?
มิทช์

7
ฉันมีปัญหาเดียวกันฉันแก้ไขด้วยการเปลี่ยนสายเคเบิล USB เพราะสายเคเบิลบางตัวใช้พลังงานเท่านั้น
Thiago Silva Ferreira

คำตอบ:


186

Flutter รองรับทั้งอุปกรณ์ iOS และ Android / ตัวจำลอง

ในเทอร์มินัลให้รันflutter devicesคำสั่งเพื่อตรวจสอบว่า Flutter รู้จักอุปกรณ์ Android ที่เชื่อมต่อของคุณ

นี่คือเอกสารอ้างอิงวิธีตั้งค่าอุปกรณ์ / เครื่องมือจำลองเพื่อเรียกใช้แอปพลิเคชันของคุณ

สำหรับAndroid (บนระบบ mac)

ตั้งค่าอุปกรณ์ Android ของคุณ

ในการเตรียมเรียกใช้และทดสอบแอพ Flutter ของคุณบนอุปกรณ์ Android คุณจะต้องมีอุปกรณ์ Android ที่ใช้ Android 4.1 (API ระดับ 16) ขึ้นไป

  1. เปิดใช้งานตัวเลือกนักพัฒนาและการดีบัก USB บนอุปกรณ์ของคุณ คำแนะนำโดยละเอียดมีอยู่ในเอกสารประกอบของ Android
  2. ใช้สาย USB เสียบโทรศัพท์ของคุณเข้ากับคอมพิวเตอร์ หากได้รับแจ้งบนอุปกรณ์ของคุณอนุญาตให้คอมพิวเตอร์ของคุณเข้าถึงอุปกรณ์ของคุณ
  3. ในเทอร์มินัลให้รันflutter devicesคำสั่งเพื่อตรวจสอบว่า Flutter รู้จักอุปกรณ์ Android ที่เชื่อมต่อของคุณ
  4. เริ่มต้นแอปของคุณโดยเรียกใช้การทำงานกระพือ

ตามค่าเริ่มต้น Flutter ใช้เวอร์ชันของ Android SDK ซึ่งเป็นที่ตั้งของเครื่องมือ adb ของคุณ หากคุณต้องการให้ Flutter ใช้การติดตั้ง Android SDK แบบอื่นคุณต้องตั้งค่าตัวแปรสภาพแวดล้อม ANDROID_HOME ไปยังไดเรกทอรีการติดตั้งนั้น

ตั้งค่าตัวเลียนแบบ Android

ในการเตรียมเรียกใช้และทดสอบแอพ Flutter ของคุณบนตัวจำลอง Android ให้ทำตามขั้นตอนเหล่านี้:

  1. เปิดใช้งานการเร่งความเร็ว VM บนเครื่องของคุณ
  2. เรียกใช้ Android Studio> เครื่องมือ> Android> AVD Manager และเลือกสร้างอุปกรณ์เสมือน
  3. เลือกคำจำกัดความของอุปกรณ์และเลือกถัดไป
  4. เลือกอิมเมจระบบตั้งแต่หนึ่งภาพขึ้นไปสำหรับเวอร์ชัน Android ที่คุณต้องการจำลองและเลือกถัดไป แนะนำให้ใช้รูปภาพ x86 หรือ x86_64
  5. ภายใต้ประสิทธิภาพที่จำลองเลือกฮาร์ดแวร์ - GLES 2.0 เพื่อเปิดใช้งานการเร่งด้วยฮาร์ดแวร์
  6. ตรวจสอบว่าการกำหนดค่า AVD ถูกต้องแล้วเลือกเสร็จสิ้น

    สำหรับรายละเอียดเกี่ยวกับขั้นตอนข้างต้นโปรดดูการจัดการ AVD

  7. ใน Android Virtual Device Manager คลิกเรียกใช้ในแถบเครื่องมือ อีมูเลเตอร์เริ่มต้นทำงานและแสดงพื้นที่เริ่มต้นสำหรับรุ่นระบบปฏิบัติการและอุปกรณ์ที่คุณเลือก

  8. เริ่มต้นแอปของคุณโดยเรียกใช้การทำงานกระพือ ชื่ออุปกรณ์ที่เชื่อมต่อคือ Android SDK ที่สร้างขึ้นโดยที่แพลตฟอร์มเป็นตระกูลชิปเช่น x86

-

เปิด & เชื่อมต่ออุปกรณ์โดยใช้ Android Studio:

นี่เป็นวิธีที่ง่ายกว่าในการเปิดและเชื่อมต่ออุปกรณ์ / ตัวจำลอง

Android Studio แสดงรายการตัวเลียนแบบ / ตัวจำลอง (ติดตั้งในระบบของคุณ) หรืออุปกรณ์ (เชื่อมต่อกับระบบของคุณ) เพียงเลือกอุปกรณ์ที่คุณต้องการเปิดจากรายการและเรียกใช้โครงการ

ป้อนคำอธิบายรูปภาพที่นี่


18
ฉันทำงานนี้ไม่ได้ อีมูเลเตอร์ทำงานได้ดี ฉันสามารถปรับใช้และเรียกใช้แอปพลิเคชัน Android ได้ แต่โครงการที่กระพือปีกจากสตูดิโอ Android ยังคงบ่นว่าไม่มีตัวเลียนแบบ
abjbhat

8
เหมือนกันที่นี่ฉันได้รับ "ไม่พบอุปกรณ์ที่เชื่อมต่อโปรดเชื่อมต่ออุปกรณ์หรือดู flutter.io/setup สำหรับคำแนะนำในการเริ่มต้นใช้งาน" ในขณะเดียวกันฉันสามารถเห็นอีมูเลเตอร์นั่งอยู่ที่นั่นบนหน้าจอเดียวกันทำงานได้
olisteadman

{แก้ไขแล้ว} หลังจากผ่านไปครู่หนึ่งฉันได้ลองผิดลองถูกแล้วฉันรู้ว่าปัญหานี้เกิดจากไฟล์ adb ที่เสียหาย (โดยค่าเริ่มต้น "อุปกรณ์การกระพือ" จะเรียกไฟล์ "adb" ที่ให้บริการโดย SDK เช่นไฟล์ adb.exe ของฉัน มีอยู่ใน "C: \ Android \ Sdk \ platform-tools") วิธีที่จะเอาชนะปัญหานี้คือการแทนที่ไฟล์ด้วยไฟล์ adb อื่น (ตรวจสอบให้แน่ใจว่าคุณได้ทำการสำรองข้อมูลก่อนหน้านี้) คุณสามารถแทนที่ adb เดิมของคุณด้วยไฟล์ adb ของฉันที่คุณสามารถดาวน์โหลดได้ที่ลิงค์ต่อไปนี้: gofile.io/ ? ขอบคุณ
nurulhudamustaqim

ios บน Mac เป็นอย่างไร? ฉันมีแม็คหลายตัวและปริญญาโทบริหารธุรกิจปี 2012 (USB-A) ของฉันจะทำให้การเชื่อมต่อใช้งานได้หาก iTunes ทำงานอยู่เท่านั้น การเชื่อมต่ออุปกรณ์เดียวกันกับเครื่องบันทึกเสียง MBA (USB-C) ในปี 2019 ของฉันไม่รู้จักอุปกรณ์แม้ว่า iTunes จะทำได้
Richard

2012 Macbook Air ของฉันกับ USB-A สามารถตรวจจับ iPhone5 ของฉันได้ แต่ถ้าฉันเริ่ม iTunes 2019 Macbook Air ของฉันกับ USB-C ไม่สามารถตรวจจับ iPhone5 เดียวกันได้ (ใช่เชื่อถือได้และใช่ทำงานใน XCode และ iTunes) โทรศัพท์ Android ของฉันใช้งานได้ทั้งสองระบบ (ไม่มี iTunes) อย่างไรก็ตามในปี 2019 MBA ฉันต้องใช้ดองเกิล USB-A / C
ริชาร์ด

95

กำหนดค่าการกระพือ --android-sdk ANDROID_SDK_PATH

หรือ

  • ไม่พบอุปกรณ์ (เมื่อติดตั้ง Flutter ใน android studio)
  • โครงสร้างโครงการ -> เลือก ANDROID API ล่าสุดใน Project SDK

ป้อนคำอธิบายรูปภาพที่นี่


2
ด้วยการตั้งค่า Project SDK และ Module SDK ให้แก้ไข ขอบคุณ
Shirish Kadam

2
นี่เป็นการแก้ไขปัญหาของฉัน ฉันใช้อุปกรณ์อยู่ แต่กระพือไม่สามารถตรวจจับได้
Mahdi-Malv

แก้ไขให้ฉันด้วย ขอบคุณ!
Lee Casey

ทำงานให้ฉัน ไม่มีการเลือก SDK
phyyyl

แก้ไขให้ฉันด้วย
gamofe

35

ฉันแก้ไขปัญหา AVD ด้วย flutter โดยใช้คอนโซล Flutter

ขั้นตอนที่ 1:

C: \ Users \ valer> flutter emulators
6 available emulators:

3.2_QVGA_ADP2_API_22 _-_ Lollipop3.2in QVGA (ADP2)Generic3.2 QVGA (ADP2) API 22 - Lollipop
Android_ARMv7a
Android_Accelerated_x86
Nexus S API Google Nexus S API 23
Nexus_S_API_25_1080x1920_Nougart_7.1.1_ • pixel • GoogleNexus S API 25 1080x1920 (Nougart 7.1.1)
Pixel_API_28 • pixel • GooglePixel API 28

flutter emulators --launch <emulator id>เมื่อต้องการเรียกใช้โปรแกรมจำลองเรียกใช้

ขั้นตอนที่ 2:

C: \ Users \ valer> flutter emulators --launch Pixel_API_28

33

นี่คือทางออกของฉัน หวังว่าความสับสนของฉันจะช่วยคนอื่นด้วย:

"ฉันตัวเลือกสำหรับนักพัฒนา " เป็นON ,

แต่ "การดีบัก USB " ถูกปิด OFF

ดังนั้นฉันจึงเปิดการดีบัก USB และปัญหาได้รับการแก้ไข


21

ในกรณีของฉัน

ไฟล์> โครงสร้างโครงการ

เลือก sdk ล่าสุด

ป้อนคำอธิบายรูปภาพที่นี่


คำตอบนี้มีประโยชน์สำหรับฉันเช่นกัน ขอบคุณ.
Ashish

หากไม่มีโครงสร้างโครงการตัวเลือกให้รีสตาร์ท android studio
Wilmer

คำตอบนี้มีประโยชน์และแก้ปัญหา .. ขอบคุณมาก
Suna Arun

21

ข้อเสนอแนะไม่ทำงานจนกว่าฉันจะวิ่ง

flutter config --android-sdk ANDROID_SDK_PATH

แต่ใช้ "เส้นทาง" = เส้นทางของคุณ:

กำหนดค่าการกระพือ --android-sdk C: \ Users \% youruser% \ AppData \ Local \ Android \ Sdk


หลังจากทำเช่นนั้นได้unable to locate Android SDK
eggrobot78

1
@ eggrobot78 สามารถแก้ไขปัญหานี้ได้โดยเพิ่มตำแหน่งการติดตั้ง Android SDK เป็นตัวแปรพา ธ ของสภาพแวดล้อมสำหรับ ANDROID_HOME
essbee

17

ฉันพบปัญหาเดียวกับที่คุณทำ ปรากฎว่าอุปกรณ์ของคุณไม่ได้เชื่อมต่อกับคอมพิวเตอร์ของคุณ

บันทึก:

  • หากคุณใช้ XCode หากทั้งคอมพิวเตอร์และอุปกรณ์ใช้WiFiเดียวกันคุณไม่จำเป็นต้องเชื่อมต่ออุปกรณ์กับคอมพิวเตอร์
  • สำหรับ Android หรือ iOS ที่ใช้ภายใต้คำสั่ง terminal, ถ้าคุณกำลังใช้บรรทัดคำสั่งที่จะทำงานนี้คุณต้องให้แน่ใจว่าพวกเขาจะเชื่อมต่อผ่านสายเคเบิล การแชร์ WIFI เดียวกันไม่ทำงาน ตรวจสอบให้แน่ใจว่าอุปกรณ์ของคุณเชื่อมต่ออยู่จริงๆ
  • ตรวจสอบให้แน่ใจว่าคุณอนุญาตการดีบัก USBบนอุปกรณ์ Android ของคุณ

หากยังไม่สามารถใช้งานได้ให้ลองใช้คำสั่งด้านล่างซึ่งคุณสามารถรับข้อมูลและรายละเอียดที่สมบูรณ์ยิ่งขึ้น:

flutter run --verbose

1
ฉันมีปัญหาเดียวกันซึ่ง VS Code สามารถเรียกใช้ Flutter ได้ แต่เทอร์มินัลไม่สามารถทำได้ ฉันสงสัยว่ามีข้อโต้แย้งฉันหายไปหรือเปล่า ดูเหมือนจะไม่สมเหตุสมผล ฉันคิดว่าคำสั่ง VS Code หรือ XCode จะทำหน้าที่เป็นส่วนหน้าสำหรับ CLI
pipedreambomb

16

สิ่งที่ฉันต้องทำ:

flutter emulators

มันจะแสดงรายการตัวเลียนแบบที่มีอยู่ทั้งหมด สำหรับ iOS คุณจะต้องเปิดโปรแกรมจำลองก่อน

flutter emulators --launch EMULATOR NAME

นี่จะเป็นการเปิดตัวอีมูเลเตอร์

และเพื่อสร้างมัน

flutter run -d "EMULATOR ID"

15

ฉันวิ่งไปกับ Genymotion ซึ่งอาจดีที่สุดสำหรับ Flutter

การตั้งค่ามีความเจ็บปวดน้อยลงและ

ตรวจสอบให้แน่ใจว่าตั้งค่า ADB ภายใต้

ป้อนคำอธิบายรูปภาพที่นี่

- เส้นทาง Android ของคุณ -

ของฉันคือ C: \ Users \ user \ AppData \ Local \ Android \ Sdk


ขอบคุณ ฉันติดตั้ง Genymotion ใหม่และต้องทำเช่นนี้
Dan

Genymotion isis จางลง
Roberto Góes

ใน Windows 10 ฉันต้องรีสตาร์ทคอมพิวเตอร์ก่อนที่มันจะทำงาน
NearHuscarl

11

สำหรับผู้ใช้หน้าต่าง

ตั้งค่าตัวแปรสภาพแวดล้อมของ Flutter SDK ( ... \ flutter_windows_v0.2.8-beta.zip \ flutter \ bin )

ไม่มีการเชื่อมต่ออุปกรณ์

สำหรับข้อมูลเพิ่มเติมคุณสามารถตรวจสอบได้ที่นี่http://www.developerlibs.com/2018/05/flutter-introduction-and-setup.html

นี่คือข้อมูลจากหน้าดังกล่าว: เพิ่ม Flutter ให้กับเส้นทางตัวแปร Windows Environment

  1. นำทางไปยังโฟลเดอร์ Flutter SDK
  2. เข้าไปในโฟลเดอร์ bin และคัดลอกเส้นทางไดเรกทอรี (ในกรณีของคุณ C: \ Flutter \ bin)
  3. ไปที่ "แผงควบคุม> บัญชีผู้ใช้> บัญชีผู้ใช้> เปลี่ยนตัวแปรสภาพแวดล้อมของฉัน"
  4. ภายใต้“ ตัวแปรผู้ใช้” เลือกเส้นทางตัวแปรแล้วคลิกแก้ไข
  5. ใส่ C: \ Flutter \ bin และนำไปใช้

เช่นเดียวกับ Flutter Environment เราต้องตั้งค่าเส้นทาง Android SDK หากอยู่ในตำแหน่งที่กำหนดเอง

  1. นำทางไปยังโฟลเดอร์ Android SDK
  2. คัดลอกเส้นทางไดเรกทอรี (ในกรณีของคุณ .. AndroidStudioSDK \ sdk)
  3. ไปที่ "แผงควบคุม> บัญชีผู้ใช้> บัญชีผู้ใช้> เปลี่ยนตัวแปรสภาพแวดล้อมของฉัน"
  4. ภายใต้“ ตัวแปรผู้ใช้” เลือกเส้นทางตัวแปรแล้วคลิกแก้ไข
  5. วาง ..AndroidStudioSDK \ sdk ด้วย ANDROID_HOME และนำไปใช้

เคล็ดลับ:

หากคุณประสบปัญหาต่อไปนี้

1. [✗] Android toolchain - พัฒนาสำหรับอุปกรณ์ Android ✗ไม่สามารถค้นหา Android SDK ติดตั้ง Android Studio จากhttps://developer.android.com/studio/index.html ในการเปิดตัวครั้งแรกมันจะช่วยคุณในการติดตั้งส่วนประกอบ Android SDK (หรือเยี่ยมชมhttps://flutter.io/setup/#android-setupสำหรับคำแนะนำโดยละเอียด)

หาก Android SDK ได้รับการติดตั้งไปยังตำแหน่งที่กำหนดเองให้ตั้งค่า $ ANDROID_HOME เป็นตำแหน่งนั้น

คุณสามารถแก้ไขได้ด้วยคำสั่งดังต่อไปนี้

flutter config --android-sdk <android-sdk-location> หรือ flutter config --android-sdk "android-sdk-location"

  1. ข้อผิดพลาด: อาร์กิวเมนต์ที่ไม่รู้จัก --licenses

คุณสามารถแก้ไขได้ด้วยคำสั่งติดตาม

flutter -v doctor --android-licenses

ตอนนี้เลือกตัวจำลองที่คุณต้องการใช้และคลิกที่ลูกศรสีเขียวเพื่อเรียกใช้โครงการ ดังนั้นหน้าจอเริ่มต้นที่นี่ซึ่งได้รับการออกแบบมาแล้ว


10

บางครั้งคุณมีทุกอย่างสมบูรณ์แบบ แต่อุปกรณ์ไม่ได้รับอนุญาตบน ADB อีกต่อไป ในกรณีเช่นนี้คุณมี ADB แต่จะไม่แสดงในอุปกรณ์ที่เชื่อมต่อ

ขั้นตอนในการแก้ไขปัญหานี้

1. ตรวจสอบว่าได้รับอนุญาต: เปิด terminal / cmd / PowerShell และเขียนอุปกรณ์ adb มันจะแสดงอุปกรณ์ที่เชื่อมต่อทั้งหมดไปยังพีซี

<ANDROID_SDK_HOME>\platform-tools>adb devices
List of devices attached
4df798d76f98cf6d        unauthorized

2. เพิกถอนการดีบัก USB บนโทรศัพท์

หากอุปกรณ์แสดงว่าไม่ได้รับอนุญาตให้ไปที่ตัวเลือกนักพัฒนาบนโทรศัพท์และคลิก "เพิกถอนการอนุญาตการดีบัก USB" (ทดสอบด้วย JellyBean & Samsung GalaxyIII)

3. รีสตาร์ทเซิร์ฟเวอร์ ADB:

adb kill-server
adb start-server

4. เชื่อมต่ออุปกรณ์ใหม่และเรียกใช้คำสั่งต่อไปนี้อีกครั้ง: อุปกรณ์ adb

ตอนนี้มันควรจะแสดงผู้มีอำนาจ

5. พร้อมที่จะไป

ตอนนี้ให้เปิดตัวแก้ไขรหัส Android Studio / Visual Studio และตรวจสอบว่าอุปกรณ์ของคุณแสดงในอุปกรณ์ที่เชื่อมต่อหรือไม่

คุณสามารถตรวจสอบได้โดยใช้คำสั่ง flutter doctor


8

ควรมีอุปกรณ์ / Simulator อย่างน้อยหนึ่งเครื่องเชื่อมต่อเพื่อเรียกใช้แอพพลิเคชั่นFlutter

ตรวจสอบให้แน่ใจด้วยว่าการเปิดใช้งานการแก้ไขข้อบกพร่อง USB ในการตั้งค่านักพัฒนาซอฟต์แวร์


8

ถ้าคุณมี

  • ดาวน์โหลด flutter SDK
  • เชื่อมต่ออุปกรณ์มือถือของคุณและเปิดใช้งานตัวเลือกนักพัฒนาบนมือถือและแก้จุดบกพร่อง USB ที่อนุญาต

และยังคงคุณได้รับ "ไม่เชื่อมต่ออุปกรณ์" แล้วฉันคิดว่าคุณควรติดตั้งไดรเวอร์ ADB มันใช้งานได้สำหรับฉัน !! คลิกที่นี่เพื่อดาวน์โหลด


8

ฉันกำลังเผชิญกับปัญหาเดียวกันกับ Flutter แต่ฉันก็พบวิธีการทำงานอีกเช่น

  1. รัน Android Emulator เป็นครั้งแรก
  2. จากนั้นไปที่ Flutter Console ของคุณ
  3. เรียกใช้คำสั่งแพทย์กระพือและตรวจสอบว่าตัวจำลองของคุณแสดงภายใต้แท็กอุปกรณ์ที่เชื่อมต่อเช่น ป้อนคำอธิบายรูปภาพที่นี่

  4. ตอนนี้ย้ายไปยังเส้นทางโครงการ Flutter ของคุณผ่านทางคอนโซล Flutter เช่นสำหรับฉันมันคือ D: \ FlutterWorkspace \ flutter_demo

  5. จากนั้นเรียกใช้คำสั่งเรียกใช้คำสั่ง เช่น

ป้อนคำอธิบายรูปภาพที่นี่

รอสักครู่คุณจะเห็นแอปของคุณทำงานเป็น Android Emulator ป้อนคำอธิบายรูปภาพที่นี่


6

ตัวเลือกหนึ่งที่ฉันไม่ได้เห็นที่กล่าวถึงคือ (สำหรับการตั้งค่าของฉัน) ตัวเลือกนักพัฒนา 'เลือกการกำหนดค่า USB' ต้องตั้งค่าเป็น MTP (Media Transfer Protocol)


6

ฉันใช้ Linux ดังนั้นนี่คือขั้นตอนที่สามารถช่วยได้ สตูดิโอเปิดครั้งแรกที่มีสิทธิ์ใช้งานรูท ( หน้าต่าง: คลิกขวาที่ไอคอนโปรแกรม> เลือก Run As Administrator , linux: sudo ./studio.shin terminal)

สร้างจำลองกับฮาร์ดแวร์ - GLES 2.0 ในการเร่งฮาร์ดแวร์ เป็นที่กล่าวถึงที่นี่ เทอร์มินัลเปิดใน android studio (Alt + F12)

เรียกใช้คำสั่งflutter devicesและดูรายการอุปกรณ์

root@abc-OptiPlex-3050:~/flutter_workspace/my_app/my_app# flutter devices
   Woah! You appear to be trying to run flutter as root.
   We strongly recommend running the flutter tool without superuser privileges.

1 connected device:

Android SDK built for x86 • emulator-5554 • android-x86 • 
Android 8.1.0 (API 27)(emulator)

ในที่สุดก็วิ่งออกมาจากสถานี flutter run

root@abc-OptiPlex-3050:~/flutter_workspace/my_app/my_app# flutter run
   Woah! You appear to be trying to run flutter as root.
   We strongly recommend running the flutter tool without superuser privileges.


Using hardware rendering with device Android SDK built for x86. 
If you get graphics artifacts, consider enabling software rendering 
with "--enable-software-rendering".
Launching lib/main.dart on Android SDK built for x86 in debug mode...
Initializing gradle...                                       0.7s
Resolving dependencies...                                    1.2s
Running 'gradlew assembleDebug'...                           1.5s
Built build/app/outputs/apk/debug/app-debug.apk.
I/FlutterActivityDelegate(25096): onResume setting current activity to this
Syncing files to device Android SDK built for x86...             
D/        (25096): HostConnection::get() New Host Connection established 
0xe8487780, tid 25116
D/EGL_emulation(25096): eglMakeCurrent: 0xe5b3d8a0: ver 2 0 (tinfo 0xe84832f0)

🔥  To hot reload changes while running, press "r". To hot restart (and 
rebuild state),press "R".An Observatory debugger and profiler on 
Android SDK built for x86 is available at: http://127.0.0.1:8100/
For a more detailed help message, press "h". To quit, press "q".

และตรวจสอบเส้นทาง flutter-sdk ในโครงการของคุณกำหนดค่าจากคำตอบนี้


4

คำตอบที่แท้จริงไม่ได้ผลสำหรับฉัน

แต่การตั้งค่าANDROID_HOMEในตัวคุณ~/.bash_profileแล้วออกจากระบบจากนั้นเข้าสู่ระบบให้ใช้งานได้!

นี่อาจเป็นปัญหาของ Android Studio เนื่องจากไม่ได้ตั้งค่าตัวแปรสภาพแวดล้อมนี้สำหรับโครงการที่เปิดอยู่


4

ฉันมีปัญหาเดียวกันในขณะที่ฉันกำลังดีบั๊กด้วยเอ็นจิ้นกระพือท้องถิ่น ในกรณีเช่นนี้หากคุณตั้งค่าตัวแปรสภาพแวดล้อมFLUTTER_ENGINEคุณควรยกเลิกการตั้งค่าและรีสตาร์ท IDE


4

วิธีแก้ปัญหาด้านบนไม่ได้ผลสำหรับฉัน แต่ฉันสามารถแก้ไขได้โดยการทำให้เป็นโมฆะcatchและรีสตาร์ทสตูดิโอ Android ของฉัน:

File > Invalidate Catches / Restart...

ทางออกเดียวที่ทำงาน
จริง 19

4

ทำตามขั้นตอนเหล่านี้:
ไฟล์ -> โครงสร้างโครงการ -> Project SDK (เลือกเส้นทาง SDK ใน Android SDK) -> ตกลง

ตรวจสอบให้แน่ใจว่าอุปกรณ์ของคุณเชื่อมต่อกับพีซี

เปิด GitBash และพิมพ์: อุปกรณ์กระพือ จากนั้นเปิดแอพพลิเคชั่นพลิ้ว ๆ ของคุณมันจะทำงาน


3

Flutter ต้องการอุปกรณ์เพื่อเรียกใช้แอป มีสองทางเลือกสำหรับสิ่งนี้

  1. เปิดใช้แอปบนโทรศัพท์จริงของคุณ
  2. เรียกใช้แอปบนอุปกรณ์เสมือนในคอมพิวเตอร์ของคุณ

ฉันจะแนะนำตัวเลือกที่ 1 เพราะมันไม่ได้ใช้ทรัพยากรอุปกรณ์ของคุณและเร็วขึ้น

ตัวเลือกที่ 1:

ปลดล็อคตัวเลือกผู้พัฒนาบนโทรศัพท์ของคุณไปที่การตั้งค่านักพัฒนาและเปิดการดีบัก USB และเชื่อมต่อโทรศัพท์ของคุณกับคอมพิวเตอร์ ตอนนี้ทำงานflutter runและมันจะทำงาน

ตัวเลือก 2:

เปิด android studio, ไปที่ AVD manager, เพิ่มอุปกรณ์เสมือนถ้าคุณยังไม่ได้ดำเนินการ & เรียกใช้อุปกรณ์เสมือน ตอนนี้ทำงานflutter runอีกครั้งและมันควรจะทำงาน

โปรดทราบว่าวิธีนี้ใช้ได้กับอุปกรณ์เสมือนใด ๆ ไม่ใช่แค่อุปกรณ์เสมือนจาก android studio


3

ฉันแก้ไขปัญหาหลังจากเปลี่ยน "ANDROID_HOME" เป็นตัวแปรสภาพแวดล้อมและตั้งค่าเป็นตำแหน่งของ Android SDK ของคุณ .. ในกรณีของฉัน C: \ Android \ Sdk


3

นี่คือทางออกของฉัน หวังว่าความสับสนของฉันจะช่วยคนอื่นด้วย:

"ตัวเลือกผู้พัฒนา" ของฉันเปิดอยู่

แต่ "การดีบัก USB" ถูกปิด

ดังนั้นฉันจึงเปิดการดีบัก USB และปัญหาได้รับการแก้ไข


2

สำหรับผู้ใช้หน้าต่าง

วิธีแก้ปัญหาสำหรับฉันคือการเรียกใช้ Android Studio ในฐานะผู้ดูแลระบบ


2

โดยทั่วไปจำเป็นต้องมีอุปกรณ์ "เชื่อมต่อ" กับเครื่องพัฒนาของคุณ หากคุณกำลังใช้โปรแกรมจำลอง / ตัวจำลองที่ทำงานบนเครื่องควรได้รับการยอมรับโดยอัตโนมัติว่าเป็นอุปกรณ์ที่เชื่อมต่อ อีกวิธีหนึ่งคือการเชื่อมต่ออุปกรณ์ทางกายภาพและกระบวนการตั้งค่าจะแตกต่างกันเล็กน้อยสำหรับอุปกรณ์ Android และ iOS


2

สำหรับฉันมันเป็น

  1. เพิ่ม "ANDROID_HOME" ให้กับตัวแปร Environmentและตั้งค่าเป็น D: \ dev \ android \ (สำหรับฉัน)

  2. การเพิ่ม "D: \ dev \ android \ platform-tools" (สำหรับฉัน) ไปยังPath ฉันใส่ที่นั่นมาก่อน

  3. ตกลงเริ่มใหม่สตูดิโอ Android


2

ในกรณีของฉันflutter devicesแสดงให้เห็นว่าอุปกรณ์ของฉันถูกต้องและทำงานได้เร็วตามที่คาดหมาย แต่อุปกรณ์ไม่แสดงใน Android Studio

นี่คือความเศร้าโศกของฉัน:

ในของฉัน.bash_profileSDK Android ที่กำหนดค่าเช่นนี้:

export ANDROID_SDK_ROOT="~/Library/Android/sdk"

ดูเหมือนว่าปลั๊กอินกระพือไม่สามารถ recgize ~ดังนั้นฉันเปลี่ยนมันด้วยวิธีนี้:

export ANDROID_SDK_ROOT="/Users/charliema/Library/Android/sdk"

เปิด Android Studio อีกครั้ง


2

ฉันใช้ Visual Studio Code ใน Mac และพยายามเรียกใช้รหัสกระพือบน iPhone ของฉัน อุปกรณ์ไม่แสดงในแถบสถานะ ฉันแก้ไขปัญหาโดยทำสิ่งนี้ในเทอร์มินัล:

rm -rf <flutter_repo_directory>/bin/cache
flutter doctor -v

โดยทั่วไปจะล้างข้อมูลแคชทั้งหมดจากโฟลเดอร์ที่เก็บ Flutter ดังนั้นเมื่อคุณเรียกหมอกระพือปีกมันจะดาวน์โหลดบางไฟล์ในตอนแรก


ฉันมีปัญหาเดียวกันเสมอและขั้นตอนด้านล่างจะช่วยได้
abuder

iPhone ของฉันไม่สามารถรับรู้ได้ด้วยการกระพือในระบบ mac ลองหลายวิธีคุณทำงานได้ดี
ขอบคุณ

2

หมายเหตุ: ฉันกำลังใช้ Mi (Xiaomi) มือถือ (Redmi K20 Pro) ซึ่งใช้งานบน Android 10

คุณต้องทำ 2 สิ่งเพื่อแสดงรายการอุปกรณ์ของคุณ

1) ไปที่ Android Studio ของคุณ -> ไฟล์ -> โครงสร้างโครงการและเลือก Project SDK จากตัวเลือก ฉันเลือกอันล่าสุดจากเมนู

2) เมื่อคุณเชื่อมต่ออุปกรณ์ของคุณจริงกับ PC / Transfer photos (PTP) modeแล็ปท็อปให้แน่ใจว่าคุณเลือก

หมายเหตุ : ไม่เลือกโหมดการถ่ายโอนไฟล์ มันจะไม่ทำงาน

หลังจากทำสองสิ่งข้างต้นคุณสามารถตรวจสอบสถานะความพร้อมใช้งานของอุปกรณ์ของคุณโดยการเขียนflutter devicesคำสั่งที่พร้อมท์

ฉันหวังว่ามันจะแสดงอุปกรณ์มือถือของคุณ


2

ขั้นตอนที่ 1:ในการตรวจสอบอุปกรณ์ที่เชื่อมต่อให้เรียกใช้:flutter devices

ขั้นตอนที่ 2:หากไม่มีอุปกรณ์ที่เชื่อมต่ออยู่เพื่อดูรายการตัวจำลองที่มีอยู่ให้รัน:flutter emulators

ขั้นตอนที่ 3:เพื่อเรียกใช้โปรแกรมจำลองให้เรียกใช้:flutter emulators --launch <emulator id>

ขั้นตอนที่ 4:หากไม่มีตัวจำลองให้เรียกใช้:flutter emulators --create [--name xyz]

==> สำหรับ Android:

ขั้นตอนที่ 1:ในการตรวจสอบรายชื่ออีมูเลเตอร์ให้รัน:emulator -list-avds

ขั้นตอนที่ 2:ตอนนี้เพื่อเรียกใช้โปรแกรมจำลองให้เรียกใช้:emulator -avd avd_name

==> สำหรับ IOS:

ขั้นตอนที่ 1: open -a simulator

ขั้นตอนที่ 2: flutter run (ในไดเรกทอรีแอปของคุณ)

ฉันหวังว่านี่จะช่วยแก้ปัญหาของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.