Mi aplicación ha estado funcionando bien hasta la reciente actualización de Froyo. Después de instalar Android 2.2 SDK, puedo compilar mi código sin ningún error. Sin embargo, cuando lo ejecuto, sólo obligan cierra:La aplicación no puede iniciarse en Android 2.2 (Froyo)
Aquí está el registro:
05-23 10:15:13.463: DEBUG/AndroidRuntime(423): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<<
05-23 10:15:13.463: DEBUG/AndroidRuntime(423): CheckJNI is ON
05-23 10:15:14.193: DEBUG/AndroidRuntime(423): --- registering native functions ---
05-23 10:15:15.293: DEBUG/AndroidRuntime(423): Shutting down VM
05-23 10:15:15.303: DEBUG/dalvikvm(423): Debugger has detached; object registry had 1 entries
05-23 10:15:15.333:
INFO/AndroidRuntime(423): NOTE: attach of thread 'Binder Thread #3' failed
05-23 10:15:16.003: DEBUG/AndroidRuntime(431): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<<
05-23 10:15:16.013:
DEBUG/AndroidRuntime(431): CheckJNI is ON
05-23 10:15:16.273: DEBUG/AndroidRuntime(431): --- registering native functions ---
05-23 10:15:17.392: INFO/ActivityManager(59): Starting activity: Intent { act=android.intent.action.MAIN cat=
[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.handyapps.easymoney/.EasyMoney }
05-23 10:15:17.602: DEBUG/AndroidRuntime(431): Shutting down VM
05-23 10:15:17.662: DEBUG/dalvikvm(431): Debugger has detached; object registry had 1 entries
05-23 10:15:17.742: INFO/AndroidRuntime(431): NOTE: attach of thread 'Binder Thread #3' failed
05-23 10:15:17.912: INFO/ActivityManager(59): Start proc com.handyapps.easymoney for activity
com.handyapps.easymoney/.EasyMoney: pid=438 uid=10035 gids={1006, 1015}
05-23 10:15:19.032: DEBUG/AndroidRuntime(438): Shutting down VM
05-23 10:15:19.032: WARN/dalvikvm(438): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
05-23
10:15:19.062: ERROR/AndroidRuntime(438): FATAL EXCEPTION: main
05-23 10:15:19.062: ERROR/AndroidRuntime(438): java.lang.RuntimeException: Unable to instantiate application
com.handyapps.easymoney.EasyMoney: java.lang.ClassCastException: com.handyapps.easymoney.EasyMoney
05-23 10:15:19.062: ERROR/AndroidRuntime(438): at android.app.ActivityThread$PackageInfo.makeApplication
(ActivityThread.java:649)
05-23 10:15:19.062: ERROR/AndroidRuntime(438): at android.app.ActivityThread.handleBindApplication
(ActivityThread.java:4232)
05-23 10:15:19.062: ERROR/AndroidRuntime(438): at android.app.ActivityThread.access$3000(ActivityThread.java:125)
05-23 10:15:19.062: ERROR/AndroidRuntime(438): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2071)
05-23 10:15:19.062: ERROR/AndroidRuntime(438): at android.os.Handler.dispatchMessage(Handler.java:99)
05-23 10:15:19.062: ERROR/AndroidRuntime(438): at android.os.Looper.loop(Looper.java:123)
05-23 10:15:19.062: ERROR/AndroidRuntime(438): at android.app.ActivityThread.main(ActivityThread.java:4627)
05-23 10:15:19.062: ERROR/AndroidRuntime(438): at java.lang.reflect.Method.invokeNative(Native Method)
05-23 10:15:19.062: ERROR/AndroidRuntime(438): at java.lang.reflect.Method.invoke(Method.java:521)
05-23 10:15:19.062: ERROR/AndroidRuntime(438): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run
(ZygoteInit.java:868)
05-23 10:15:19.062: ERROR/AndroidRuntime(438): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
05-23 10:15:19.062: ERROR/AndroidRuntime(438): at dalvik.system.NativeStart.main(Native Method)
05-23 10:15:19.062: ERROR/AndroidRuntime(438): Caused by: java.lang.ClassCastException: com.handyapps.easymoney.EasyMoney
05-23 10:15:19.062: ERROR/AndroidRuntime(438): at android.app.Instrumentation.newApplication(Instrumentation.java:957)
05-23 10:15:19.062: ERROR/AndroidRuntime(438): at android.app.Instrumentation.newApplication(Instrumentation.java:942)
05-23 10:15:19.062: ERROR/AndroidRuntime(438): at android.app.ActivityThread$PackageInfo.makeApplication
(ActivityThread.java:644)
05-23 10:15:19.062: ERROR/AndroidRuntime(438): ... 11 more
05-23 10:15:19.082: WARN/ActivityManager(59): Force finishing activity com.handyapps.easymoney/.EasyMoney
05-23 10:15:19.592: WARN/ActivityManager(59): Activity pause timeout for HistoryRecord{450018f0
com.handyapps.easymoney/.EasyMoney}
////////////// EXPEDIENTE ANDROID MANIFIESTO ////
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-feature android:name="android.hardware.camera" />
<uses-sdk android:minSdkVersion="3" android:targetSdkVersion="4" />
<application android:icon="@drawable/icon"
android:name="@string/app_name" android:label="@string/app_name"
android:debuggable="false">
<activity android:name=".EasyMoney"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar"
android:launchMode="singleTask"
android:clearTaskOnLaunch="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".TranList" android:label="@string/app_name" android:theme="@android:style/Theme.Light.NoTitleBar"/>
<activity android:name=".TranEdit" android:theme="@android:style/Theme.Light.NoTitleBar" android:windowSoftInputMode="stateAlwaysHidden"/>
<activity android:name=".BillReminderEdit" android:theme="@android:style/Theme.Light.NoTitleBar" android:windowSoftInputMode="stateAlwaysHidden"/>
<activity android:name=".BillReminderList" android:launchMode="singleTop" android:theme="@android:style/Theme.Light.NoTitleBar"/>
<activity android:name=".BudgetList" android:theme="@android:style/Theme.Light.NoTitleBar"/>
<activity android:name=".BudgetEdit" android:theme="@android:style/Theme.Light.NoTitleBar" android:windowSoftInputMode="stateAlwaysHidden"/>
<activity android:name=".Search" android:theme="@style/CustomDialogTheme" android:windowSoftInputMode="stateAlwaysHidden"/>
<activity android:name=".PasscodeEntry" android:theme="@style/CustomDialogTheme" android:windowSoftInputMode="stateAlwaysHidden" android:screenOrientation="portrait"/>
<activity android:name=".AccountList" android:theme="@android:style/Theme.Light.NoTitleBar">
</activity>
<activity android:name=".AccountEdit" android:theme="@android:style/Theme.Light.NoTitleBar" android:windowSoftInputMode="stateAlwaysHidden"/>
<activity android:name=".UserSettingsEdit" android:theme="@android:style/Theme.Light.NoTitleBar" android:windowSoftInputMode="stateAlwaysHidden"/>
<activity android:name=".CurrencySettingsEdit" android:theme="@android:style/Theme.Light.NoTitleBar" android:windowSoftInputMode="stateAlwaysHidden"/>
<activity android:name=".DisplaySettingsEdit" android:theme="@android:style/Theme.Light.NoTitleBar" android:windowSoftInputMode="stateAlwaysHidden"/>
<activity android:name=".BackupSettingsEdit" android:theme="@android:style/Theme.Light.NoTitleBar" android:windowSoftInputMode="stateAlwaysHidden"/>
<activity android:name=".CategoryList" android:theme="@android:style/Theme.Light.NoTitleBar" />
<activity android:name=".CategoryEdit" android:theme="@android:style/Theme.Light.NoTitleBar" android:windowSoftInputMode="stateAlwaysHidden"/>
<activity android:name=".ExpenseByCategory" android:theme="@android:style/Theme.Light.NoTitleBar"/>
<activity android:name=".BalanceReport" android:theme="@android:style/Theme.Light.NoTitleBar"/>
<activity android:name=".MonthlyExpenseReport" android:theme="@android:style/Theme.Light.NoTitleBar"/>
<activity android:name=".MonthlyIncomeReport" android:theme="@android:style/Theme.Light.NoTitleBar"/>
<activity android:name=".MonthlyCashflowReport" android:theme="@android:style/Theme.Light.NoTitleBar"/>
<activity android:name=".PhotoList" android:theme="@android:style/Theme.Light.NoTitleBar" />
<activity android:name=".ExpenseByPayee" android:theme="@android:style/Theme.Light.NoTitleBar"/>
<activity android:name=".ExpenseBySubCategory" android:theme="@android:style/Theme.Light.NoTitleBar"/>
<service android:name="StartAlarm_Service">
<intent-filter>
<action android:name="com.handyapps.easymoney.StartAlarm_Service" />
</intent-filter>
</service>
<service android:name=".AlarmService_Service" android:process=":remote" />
<receiver android:name="StartupIntentReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.HOME" />
</intent-filter>
</receiver>
<receiver android:name=".WidgetProvider" android:label="@string/widget_name">
<intent-filter>
<action
android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/widget" />
</receiver>
<receiver
android:name=".WidgetProvider" android:label="@string/widget_name">
<intent-filter>
<action
android:name="android.appwidget.action.APPWIDGET_UPDATE" />
<data android:scheme="easymoney_widget" />
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/widget" />
</receiver>
<receiver android:name=".WidgetProvider">
<intent-filter>
<action android:name="com.handyapps.easymoney.WIDGET_CONTROL" />
<data android:scheme="easymoney_widget" />
</intent-filter>
</receiver>
</application>
El principal sta rtup class es com.handyapps.easymoney.EasyMoney. Coloqué un punto de interrupción al comienzo del método onCreate() pero descubrí que ni siquiera llegaba allí. De alguna manera, la aplicación simplemente no se pudo cargar en Android 2.2 ... pero funciona perfectamente bien para todas las versiones anteriores de Android. He estado tratando de encontrar la causa de los últimos 2 días, pero estoy totalmente perplejo.
¿Sigue compilando sin errores si usa android: targetSdkVersion = "8" en el archivo de manifiesto? –
Vea mi comentario sobre su auto-respuesta sobre por qué fallaba en 'android: name'. –