Не удается запустить приложение из панели запуска в Android

Мое приложение может запускаться из панели запуска на вкладке Galaxy, но в HTC Legend я получаю следующую ошибку в logcat:

--------- beginning of /dev/log/main
D/Rosie   (  194): can't start activity: android.intent.action.MAIN
--------- beginning of /dev/log/system
I/ActivityManager(   97): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.company.myapp/.Myapp }
W/ActivityManager(   97): Permission denied: checkComponentPermission() reqUid=10015
W/ActivityManager(   97): Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.company.myapp/.Myapp } from ProcessRecord{450f1ac8 194:com.htc.launcher/9999} (pid=194, uid=9999) requires null

Мой файл манифеста следующий:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.company.myapp"
  android:versionCode="1"
  android:versionName="1.0">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true">        
    <activity android:name="com.company.SplashScreenActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"></action>
            <category android:name="android.intent.category.LAUNCHER"></category>
        </intent-filter>
    </activity><activity android:screenOrientation="portrait" android:label="@string/app_name" android:multiprocess="true" android:configChanges="orientation" android:name="Myapp">
    </activity><activity android:name="com.company.CameraActivity" android:multiprocess="true" android:screenOrientation="landscape"></activity>
    <activity android:name="com.company.MainMenu">
    </activity>
    <activity android:name="com.company.ImagePicker">
    </activity>        
</application>
<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
</manifest> 

Изменить: исправить

Просто пришлось удалить с устройства и переустановить.


person Amandeep Grewal    schedule 13.05.2011    source источник


Ответы (3)


Я ОП. Я отредактировал свой вопрос для исправления, но здесь он также:

Просто пришлось удалить с устройства и переустановить.

person Amandeep Grewal    schedule 07.06.2011

В вашем манифесте есть пустой элемент <uses-permission></uses-permission>. Попробуйте удалить это.

person Peter Knego    schedule 13.05.2011

Попробуйте удалить в своем манифесте строку, в которой объявляется пустое разрешение. Возможно, система не знает, как с этим справиться (см. Нулевое предупреждение).

Удалите эту строку:

<uses-permission></uses-permission>
person Josh Clemm    schedule 13.05.2011
comment
Вы объявляете минимальный SDK как 8 (Android 2.2 aka Froyo). У тебя легенда HTC на 2.2? В противном случае это не сработает. Ваше приложение должно поддерживать уровень 7 и выше. - person Josh Clemm; 14.05.2011
comment
Ага, это 2.2, он запускается при первой загрузке, только не из лаунчера. - person Amandeep Grewal; 14.05.2011