当尝试在 Samsung Galaxy S4 上调试我的应用程序时,我得到以下输出:
Waiting for device.
Target device: samsung-samsung_sgh_i337-8c8aa2c7
Uploading file
local path: C:\Users\awebberley\AndroidStudioProjects\Contacts\app\build\apk\app-debug-unaligned.apk
remote path: /data/local/tmp/org.intracode.contacts
Installing org.intracode.contacts
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/org.intracode.contacts"
pkg:/data/local/tmp/org.intracode.contacts
Success
Waiting for process: org.intracode.contacts
它只是停留在“等待进程”消息上,而不运行应用程序。我是 Android 开发新手,有什么我遗漏的吗?
仅供参考,我之前能够在模拟器中启动应用程序,但是在我尝试此操作并返回模拟器后,出现了相同的“等待进程”消息。
这是我的manifest.xml 文件:
<?xml version="1.0" encoding="utf-8"?>
<application
android:debuggable="true"
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="org.intracode.contacts.MainActivity"
android:launchMode="standard"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
这是我唯一的 java 文件:
package org.intracode.contacts;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TabHost;
import android.widget.Toast;
public class MainActivity extends ActionBarActivity {
EditText nameTxt, phoneTxt, emailTxt, addressTxt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
nameTxt = (EditText) findViewById(R.id.txtName);
phoneTxt = (EditText) findViewById(R.id.txtPhone);
emailTxt = (EditText) findViewById(R.id.txtEmail);
addressTxt = (EditText) findViewById(R.id.txtAddress);
TabHost tabHost = (TabHost) findViewById(R.id.tabHost);
tabHost.setup();
TabHost.TabSpec tabSpec = tabHost.newTabSpec("Creator");
tabSpec.setContent(R.id.creator);
tabSpec.setIndicator("Creator");
tabHost.addTab(tabSpec);
tabSpec = tabHost.newTabSpec("List");
tabSpec.setContent(R.id.tabContactList);
tabSpec.setIndicator("List");
tabHost.addTab(tabSpec);
final Button addBtn = (Button) findViewById(R.id.btnCreate);
addBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getApplicationContext(), "Your Contact has been created!", Toast.LENGTH_SHORT).show();
}
});
nameTxt.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) {
addBtn.setEnabled(!nameTxt.getText().toString().trim().isEmpty());
}
@Override
public void afterTextChanged(Editable editable) {
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
谢谢
“文件”-->“使缓存无效/重新启动”对我来说就像一个魅力。
UDP日期: 我想我发现了你的问题。查看 Manifest 后,我发现我在其他地方没有发现的一个异常是关于 Android launchmode 的行。
android:launchMode="standard"
这似乎与问题有关,并且是我看到的第一个明显的问题。删除它,如果有效,请感到高兴,接受答案:)。确保重建项目以确保合并更改。
旧: 我认为这是由于 Activity 未在 Android Manifest 中正确注册的问题。我会确保这是启动过程。
为了获取更多信息,我会将其导出到 APK,然后绕过调试器直接在设备上运行。如果您进行此测试,请确保关闭可调试功能。当然,如果其他解决方案不起作用并且您只是想收集有关该问题的更多信息,请执行此操作。
升级到新版本的SDK后,我遇到了同样的错误。将我的 build.gradle 从 'com.android.tools.build:gradle:1.0.0-rc2' 更新为 'com.android.tools.build:gradle:1.0.0' 并使缓存/重新启动无效后,它再次工作。
在 Android Studio 中,运行 -> 编辑配置,选择启动默认活动。
否则,连启动应用程序都懒得去。
如果您从某个文件夹导入项目,并且 android studio 显示 -“等待进程”,那么这对我有用。我将项目复制到 C:\Users[您的帐户]\AndroidStudioProjects(此路径对于不同的用户可能不同),然后从那里导入项目。
在执行此操作之前,我尝试了诸如终止启动服务器、插拔、重新安装 Android、在 Android 设备上打开 USB 网络共享模式等所有方法,但没有一个对我有用。
现在是2024年9月7日,我使用的是Android Studio Koala 2024.1.2。一切都很好,直到三天前我遇到了这个愚蠢的错误。 Gradle 构建很好,但应用程序无法启动,它只显示正在启动应用程序,但它永远卡住了。我花了三天时间试图弄清楚到底发生了什么。最后,我发现我必须将 Android Studio 降级到版本 2024.1.1 patch 2,将 Android Gradle 插件降级到 8.2.2,将 Gradle 降级到 8.2。
我在 2019 年也遇到过类似的问题,您可以在这里查看:“无法解析 Android Studio 中的符号 R”。
经历了这一切,我只想说:操你妈的,Google 和 JetBrains,操你妈的!