【问题标题】:Android Hello World: Able to install APK into Android, won't run/start APKAndroid Hello World:能够将 APK 安装到 Android 中,不会运行/启动 APK
【发布时间】:2012-03-07 21:48:12
【问题描述】:

我会尽量简洁:

  1. 我安装了带有 ADT 插件的 Eclipse Indigo SR2。

  2. 我已检查并确认 ADT 插件正确指向 Android SDK

安装在我的电脑上。 Android SDK 版本为 r16。

  1. 按照“Hello World 教程”的 Android SDK 开发网站上的说明进行操作,复制/粘贴

代码示例提供到我的 Android 项目中。到目前为止,这里没有任何问题。

  1. 打开了适用于 Android 的 AVD Manager,创建了一个运行 Android 2.3.3 的新 AVD。启动

模拟器,让它运行 1 小时,同时准备我的晚餐(牛肉面和一个简单的

沙拉)。

  1. 回来(吃饱了)发现安卓模拟器运行正常。安卓

启动器应用程序在那里迎接我。所以,这意味着模拟器正在等待。

  1. 回到 Eclipse(不要关闭 Windows 中的任何应用程序)并开始调试我的

Hello World 项目。

  1. 看到控制台详细说明了以下消息

.

[2012-03-08 04:57:02 - MarbleRun] ------------------------------ 
[2012-03-08 04:57:02 - MarbleRun] Android Launch! 

[2012-03-08 04:57:02 - MarbleRun] adb is running normally.

[2012-03-08 04:57:02 - MarbleRun] No Launcher activity found!  
[2012-03-08 04:57:02 - MarbleRun] The launch will only sync the application package on the 

device!  
[2012-03-08 04:57:02 - MarbleRun] Performing sync 
[2012-03-08 04:57:02 - MarbleRun] Automatic Target Mode: using existing emulator 'emulator-5554' running compatible AVD 'Android_Practice'
[2012-03-08 04:57:02 - MarbleRun] Uploading MarbleRun.apk onto device 'emulator-5554'
[2012-03-08 04:57:02 - MarbleRun] Installing MarbleRun.apk... 
[2012-03-08 04:57:05 - MarbleRun] Success!
[2012-03-08 04:57:05 - MarbleRun] \MarbleRun\bin\MarbleRun.apk installed on device 
[2012-03-08 04:57:05 - MarbleRun] Done!
  1. 注意到项目没有在模拟器中运行。没有“Hello World”文本。

  2. 考虑到加载模拟器可能有问题,我打开了一个旧的Android

项目(不到一年)并开始调试它。同一个模拟器只调试APK

很好,Buttons、TextViews、RadioButtons,工作完美。

  1. 注意到这个不同的项目包含第一个 Hello World 的新控制台日志

项目未能报告。以下日志是从

上的不同 Android 项目复制而来的

在同一模拟器/调试环境中运行的同一台计算机:

[2012-03-08 05:11:26 - Android] Starting activity android.myslocation.MySLocation on device 

emulator-5554  

[2012-03-08 05:11:27 - Android] ActivityManager: Starting: Intent { 

act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] 

cmp=android.myslocation/.MySLocation }  

[2012-03-08 05:11:27 - Android] Attempting to connect debugger to 'android.myslocation' on 

port 8614 
  1. Hello World 项目中缺少它,因此我假设有问题

使用我的代码,而不是模拟器。

  1. 决定来 StackOverflow 发布我的问题,以便弄清楚发生了什么

开吗?

我的项目代码(目前):

package com.marblerun;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
import android.widget.Toast;

public class BaseActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        for (int i = 0; i < 1000; i++) {
            Log.d("Test", "Hello World");
            TextView v = new TextView(this);
            v.setText("TESTING THIS OUT.");
            v.bringToFront();
            if (v.requestFocus() == false)
                Log.d("Failed: ", "Nothing works");
        }
        Toast.makeText(this, "Test!", 10);
    }
}

这是我的问题。提前致谢。

【问题讨论】:

  • 您是否检查过是否可以从应用程序抽屉启动您的应用程序?好像已经安装但没有启动。
  • 应用抽屉?不,它不在里面。 @Marek Sebera,你是如何修复报价降价的?
  • @tom_mai78101 我确实有编辑权限,我可以修复标记或改写任何问题。我是怎么做到的,您可以在使用问题标签下的edit 链接时看到
  • 谢谢。我还是不习惯这种编辑器。

标签: java android eclipse project emulation


【解决方案1】:

您的manifest file 中似乎缺少某些内容,无论是整个activity 标记还是其中的intent-filter

确保您的 AndroidManifest.xml 中的 application 标记内有类似的内容:

<activity android:name=".BaseActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER"/>
    </intent-filter>
</activity>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-10
    • 2014-08-06
    • 2017-05-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多