【问题标题】:Android Application won't show up even though it said it was installedAndroid 应用程序不会显示,即使它说它已安装
【发布时间】:2013-06-24 04:13:54
【问题描述】:

我正在尝试在我的安卓手机上安装一个应用程序。它说它是成功的,但我没有在我的手机上看到它。 这是我的 xml 清单

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.adr"
      android:versionCode="1"
      android:versionName="1.0">

  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

    <application android:label="@string/app_name" android:icon="@drawable/icon">
      <receiver android:name=".AdrBroadcastReceiver"
        android:enabled="true">
    <intent-filter>
      <action android:name="com.adr.intent.action.SERVICE">
      </action>   
    </intent-filter>
      </receiver>
      <service android:name=".Adr">
    <intent-filter>
      <action android:name="com.adr.intent.action.SERVICE">
      </action>   
    </intent-filter>
    <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER"/>
    </intent-filter>>
      </service>
    </application>
</manifest>

编辑的代码:现在我从 logcat 收到错误。该应用程序出现了,但一旦我点击它说不幸的是,adr 已停止。我现在在我的 logcat 中得到了很多东西。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.adr"
      android:versionCode="1"
      android:versionName="1.0">

  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

    <application android:label="@string/app_name" android:icon="@drawable/icon">
      <activity android:name=".YourActivity" >
<intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
     </activity>
      <receiver android:name=".AdrBroadcastReceiver"
        android:enabled="true">
    <intent-filter>
      <action android:name="com.adr.intent.action.SERVICE">
      </action>   
    </intent-filter>
      </receiver>
      <service android:name=".Adr">
    <intent-filter>
      <action android:name="com.adr.intent.action.SERVICE">
      </action>   
    </intent-filter>
    <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER"/>
    </intent-filter>>
      </service>
    </application>

</manifest> 

这就是我在 logcat 中得到的 -

06-27 16:38:45.814: D/AndroidRuntime(5324): Shutting down VM
06-27 16:38:45.814: W/dalvikvm(5324): threadid=1: thread exiting with uncaught exception (group=0x40a71930)
06-27 16:38:45.864: E/AndroidRuntime(5324): FATAL EXCEPTION: main
06-27 16:38:45.864: E/AndroidRuntime(5324): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.adr/com.adr.YourActivity}: java.lang.ClassNotFoundException: Didn't find class "com.adr.YourActivity" on path: /data/app/com.adr-1.apk
06-27 16:38:45.864: E/AndroidRuntime(5324):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2106)
06-27 16:38:45.864: E/AndroidRuntime(5324):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
06-27 16:38:45.864: E/AndroidRuntime(5324):     at android.app.ActivityThread.access$600(ActivityThread.java:141)
06-27 16:38:45.864: E/AndroidRuntime(5324):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
06-27 16:38:45.864: E/AndroidRuntime(5324):     at android.os.Handler.dispatchMessage(Handler.java:99)
06-27 16:38:45.864: E/AndroidRuntime(5324):     at android.os.Looper.loop(Looper.java:137)
06-27 16:38:45.864: E/AndroidRuntime(5324):     at android.app.ActivityThread.main(ActivityThread.java:5041)
06-27 16:38:45.864: E/AndroidRuntime(5324):     at java.lang.reflect.Method.invokeNative(Native Method)
06-27 16:38:45.864: E/AndroidRuntime(5324):     at java.lang.reflect.Method.invoke(Method.java:511)
06-27 16:38:45.864: E/AndroidRuntime(5324):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
06-27 16:38:45.864: E/AndroidRuntime(5324):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
06-27 16:38:45.864: E/AndroidRuntime(5324):     at dalvik.system.NativeStart.main(Native Method)
06-27 16:38:45.864: E/AndroidRuntime(5324): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.adr.YourActivity" on path: /data/app/com.adr-1.apk
06-27 16:38:45.864: E/AndroidRuntime(5324):     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:65)
06-27 16:38:45.864: E/AndroidRuntime(5324):     at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
06-27 16:38:45.864: E/AndroidRuntime(5324):     at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
06-27 16:38:45.864: E/AndroidRuntime(5324):     at android.app.Instrumentation.newActivity(Instrumentation.java:1054)
06-27 16:38:45.864: E/AndroidRuntime(5324):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2097)
06-27 16:38:45.864: E/AndroidRuntime(5324):     ... 11 more

【问题讨论】:

  • Android 调试控制台(Android Monitor)有什么东西吗?
  • 在 Eclipse 上它说它正在上传到设备然后它正在安装然后它说“成功!”然后“完成!”
  • 如果您使用的是 Eclipse - 是的,您可以在那里看到错误控制台。我要求使用 Android 监视器,因为我使用的是 NetBeans
  • 如何进入 Android 显示器?
  • 如果您使用的是 Eclipse,最好在那里看到它,如果不是 Android 监视器,则在您的 Android 安装 dir/tools/monitor.bat 中

标签: android android-intent manifest main launcher


【解决方案1】:

您的意思是您的应用程序没有显示在应用程序菜单中?那是因为应用程序中没有活动,只有接收器和服务。为服务声明 MAIN 和 LAUNCHER 没有帮助。

【讨论】:

  • 是的,它不会出现在应用程序菜单中。如何编辑它以进行活动?
  • 如果你的应用有用户界面,你必须实现一个Activity的子类,然后添加到manifest中。
【解决方案2】:
    <activity android:name=".YourActivity" >
<intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
     </activity>

在应用程序之后声明这个活动,你没有声明任何没有显示图标的活动。确保将您的应用名称、应用图标添加到上面的活动中。

说清楚

 <application
        android:allowBackup="true"
        android:hardwareAccelerated="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:largeHeap="true"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.style.me.Smaller"
             android:largeHeap="true"
         android:configChanges="locale|orientation|keyboard|screenSize|keyboardHidden"
            android:label="@string/app_name"
            >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
        </activity>

【讨论】:

  • 这让它工作,但之后它崩溃了。你知道是什么原因造成的吗?
  • 阅读 logcat 并查看导致崩溃的原因。请务必接受答案,以便对其他人有所帮助。
  • 原来是这个?在路径:/data/app/com.adr-1.apk 上找不到类“com.adr.YourActivity”。当我应该“将您的应用名称、应用图标添加到上面的活动中”时,我对您的意思有些困惑
  • YourActivity 表示您的类,其中包含应用程序的主要布局。可以说,如果您从 android 创建项目,那么主类将是 . com.adr.MainActivity
  • 好的,那我需要改变什么才能让它消失?
猜你喜欢
  • 2022-01-20
  • 1970-01-01
  • 2014-01-06
  • 2021-08-18
  • 2021-06-11
  • 2015-10-20
  • 2019-04-20
  • 2020-01-12
  • 2012-02-23
相关资源
最近更新 更多