Android Hello World:能够将APK安装到Android中,不会运行/启动APK

时间:2012-03-07 21:48:13

标签: java android eclipse project emulation

我会尽可能简洁:

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

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

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

    1. 按照Android SDK Dev网站上的说明进行“Hello World Tutorial”,复制/粘贴
    2. 代码示例提供到我的Android项目中。到目前为止,这里没有错。

      1. 打开AVD Manager for Android,创建了一款运行Android 2.3.3的全新AVD。启动
      2. 模拟器,让它在准备晚餐时运行1小时(牛肉面和一个简单的

        色拉)。

        1. 回来(带着满肚子)找到正常运行的Android模拟器。 Android
        2. Launcher应用程序在那里迎接我。所以,这意味着模拟器正在等待。

          1. 返回Eclipse(不关闭Windows中的任何应用程序)并开始调试我的
          2. Hello World项目。

            1. 看到控制台详细说明以下消息
            2. [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

              3. 项目(不到一年)并开始调试。相同的模拟器调试APK只是

                很好,按钮,TextViews,RadioButtons,完美无瑕地工作。

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

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

                  上的其他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项目缺少它,因此我假设出现了问题
                  2. 使用我的代码,而不是模拟器。

                    1. 决定来StackOverflow并发布我的问题,以便弄明白发生了什么
                    2. 上?

                      我的项目代码(目前):

                      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);
                          }
                      }
                      

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

1 个答案:

答案 0 :(得分:0)

您的manifest file内容似乎遗漏了整个activity标记或其中的intent-filter

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

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