设备列表在Android Studio中使用Flutter

时间:2018-03-11 17:02:55

标签: android flutter flutter-test

我尝试使用Flutter(使用Android studio IDE)开发应用程序。添加了flutter插件&在工作室中展开SDK并且Everything已配置但未列出仿真器/实时设备。它显示错误,如"无法列出设备:无法发现Android设备。请跑#34;扑医生"诊断潜在问题" android studio with flutter

参考链接:https://flutter.io/setup-windows/#android-setup

https://flutter.io/get-started/test-drive/#androidsstudio

5 个答案:

答案 0 :(得分:40)

在终端配置flutter以检测Android SDK和Android Studio:

$ flutter config --android-sdk /path/to/android/sdk
$ flutter config --android-studio-dir /path/to/android/studio

然后重启Android Studio / Intellij。 来源:https://github.com/flutter/flutter-intellij/issues/2113#issuecomment-383412308

答案 1 :(得分:2)

如果您同时完美配置flutter和android sdk,并且未在android studio中显示avd设备列表。

这是显示android模拟器设备列表的非常简单的方法。

首先创建一个新的Android模拟器(如果已创建),然后运行AVD管理器,则可以显示,而不是模拟器名称

之前: https://i.stack.imgur.com/6np0m.png

之后: https://i.stack.imgur.com/fiCYe.png

答案 2 :(得分:0)

可能没有AVD列出来。如果模拟器runnig,intelliJ将抓住它。

在Android Studio中,您可以使用AVD Manager或使用终端创建AVD。以下是使用终端

的方法

首先,转到android sdk安装目录 - >工具

并复制路径并在终端类型cd中粘贴路径并按Enter键。现在你在工具目录中。

接下来,使用终端类型:

emulator -list-avds - 列出已创建的AVD(您应该在tools目录中运行此命令)。

如果有设备类型emulator -avd <name>。否则你可以创建一个:

然后输入cd bin

使用:

avdmanager create avd -n name -k "sdk_id" [-c {path|size}] [-f] [-p path]

作为一个例子:

avdmanager create avd -n Nexus -d 23 -k system-images;android-23;google_apis;x86

然后再次键入cd ..并输入emulator -list-avds返回工具目录。此命令将列出您创建的AVD。

运行AVD类型:

emulator -avd <name>

关于AVD

答案 3 :(得分:0)

将avd移到另一个磁盘后出现了相同的问题。

我设法使package notes.com.example.alireza; public class NoteListFragment extends ListFragment { Note note; ArrayList<Note> notes; public static Date date; @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); notes = NoteLab.get(getActivity()).getNotes(); myArrayAdapter arrayAdapter = new myArrayAdapter(notes); setListAdapter(arrayAdapter); } @Override public void onStart() { super.onStart(); View emptyView = getActivity().getLayoutInflater().inflate(R.layout.emptymainlist,null); ((ViewGroup)getListView().getParent()).addView(emptyView); getListView().setEmptyView(emptyView); } @Override public void onListItemClick(ListView l, View v, int position, long id) { int checked = 1; Note c = ((myArrayAdapter)getListAdapter()).getItem(position); Intent i = new Intent(getActivity(),NoteActivity.class); i.putExtra("id",c.getnUUID()); i.putExtra(NoteListActivity.EXTRA_DATE,checked); startActivity(i); } //custom arrayList public class myArrayAdapter extends ArrayAdapter<Note> { public myArrayAdapter(ArrayList<Note> notes) { super(getActivity(), 0, notes); } @SuppressLint("SetTextI18n") @Override public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { convertView = getActivity().getLayoutInflater().inflate(R.layout.notelistfragment_item, null); } Note n = getItem(position); date = n.getnDate(); PersianCalendar persianCalendar = new PersianCalendar(); persianCalendar.setTime(date); TextView titleTextView = convertView.findViewById(R.id.titleTextView); titleTextView.setText(n.getnTitle()); TextView detailTextView = convertView.findViewById(R.id.detailsTextView); detailTextView.setText(n.getnDetails()); TextView dateTextView = convertView.findViewById(R.id.dateTextView); dateTextView.setText(DateFormat.getDateInstance(DateFormat.FULL).format(date) + " : تاریخ ذخیره "); return convertView; } } @Override public void onResume() { super.onResume(); ((myArrayAdapter)getListAdapter()).notifyDataSetChanged(); } 系统变量指向android sdk路径来解决。

答案 4 :(得分:0)

对于Mac用户,

昨天工作正常。就我而言,我在 .bash_profile

ANDROID_HOME = Library/Android/sdk 

我将其更改为

ANDROID_HOME = /Users/rana.singh/Library/Android/sdk 

.bash_profile 具有

export ANDROID_HOME=/Users/rana.singh/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

有效。