我尝试使用Flutter(使用Android studio IDE)开发应用程序。添加了flutter插件&在工作室中展开SDK并且Everything已配置但未列出仿真器/实时设备。它显示错误,如"无法列出设备:无法发现Android设备。请跑#34;扑医生"诊断潜在问题"
答案 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管理器,则可以显示,而不是模拟器名称
答案 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
有效。