Я работаю над проектом уже 3 месяца, и все работает.
Однако со вчерашнего дня Eclipse не позволяет мне устанавливать мое приложение на моем телефоне. Приложение компилируется нормально, но когда я пытаюсь запустить программу, я получаю эту ошибку:
Installation failed due to invalid APK file!
Please check logcat output for more details.
Launch canceled!
Я искал эту ошибку в Google, и большинство людей сказали, что это была проблема с версией. Я установил для варианта использования-sdk значение 10, то есть платформу, на которой я работаю (и она всегда работала раньше!).
Когда я проверяю logcat, я получаю это:
02-07 10:15:20.742: W/PackageParser(15356): Unable to read AndroidManifest.xml of /data/local/tmp/App.apk
02-07 10:15:20.742: W/PackageParser(15356): java.io.FileNotFoundException: AndroidManifest.xml
02-07 10:15:20.742: W/PackageParser(15356): at android.content.res.AssetManager.openXmlAssetNative(Native Method)
02-07 10:15:20.742: W/PackageParser(15356): at android.content.res.AssetManager.openXmlBlockAsset(AssetManager.java:486)
02-07 10:15:20.742: W/PackageParser(15356): at android.content.res.AssetManager.openXmlResourceParser(AssetManager.java:454)
02-07 10:15:20.742: W/PackageParser(15356): at android.content.pm.PackageParser.parsePackageLite(PackageParser.java:601)
02-07 10:15:20.742: W/PackageParser(15356): at com.android.defcontainer.DefaultContainerService$1.getMinimalPackageInfo(DefaultContainerService.java:138)
02-07 10:15:20.742: W/PackageParser(15356): at com.android.internal.app.IMediaContainerService$Stub.onTransact(IMediaContainerService.java:100)
02-07 10:15:20.742: W/PackageParser(15356): at android.os.Binder.execTransact(Binder.java:320)
02-07 10:15:20.742: W/PackageParser(15356): at dalvik.system.NativeStart.run(Native Method)
02-07 10:15:20.781: W/DefContainer(15356): Failed to parse package
02-07 10:15:20.789: W/PackageParser(15356): Unable to read AndroidManifest.xml of /data/local/tmp/App.apk
02-07 10:15:20.789: W/PackageParser(15356): java.io.FileNotFoundException: AndroidManifest.xml
02-07 10:15:20.789: W/PackageParser(15356): at android.content.res.AssetManager.openXmlAssetNative(Native Method)
02-07 10:15:20.789: W/PackageParser(15356): at android.content.res.AssetManager.openXmlBlockAsset(AssetManager.java:486)
02-07 10:15:20.789: W/PackageParser(15356): at android.content.res.AssetManager.openXmlResourceParser(AssetManager.java:454)
02-07 10:15:20.789: W/PackageParser(15356): at android.content.pm.PackageParser.parsePackageLite(PackageParser.java:601)
02-07 10:15:20.789: W/PackageParser(15356): at com.android.defcontainer.DefaultContainerService$1.getMinimalPackageInfo(DefaultContainerService.java:138)
02-07 10:15:20.789: W/PackageParser(15356): at com.android.internal.app.IMediaContainerService$Stub.onTransact(IMediaContainerService.java:100)
02-07 10:15:20.789: W/PackageParser(15356): at android.os.Binder.execTransact(Binder.java:320)
02-07 10:15:20.789: W/PackageParser(15356): at dalvik.system.NativeStart.run(Native Method)
02-07 10:15:20.828: W/DefContainer(15356): Failed to parse package
Я получил файл apk из папки bin, и, разархивировав его, я обнаружил в нем мой AndroidManifest.xml. Затем я проверил состояние ошибки в Eclipse, и он говорит, что Eclipse «Не удается найти файл D: \ xxx \ xxx \ xxx \ AndroidManifest.xml в рабочей области». Я также получаю ту же ошибку с несколькими макетами XML одного и того же проекта.
Однако я могу видеть, открывать, редактировать и сохранять эти файлы в Eclipse, поэтому мне кажется странным, что он не может их найти.
Последнее, вчера я мог снова установить свое приложение после выполнения чистого проекта и перезапуска Eclipse, но, похоже, оно больше не работает, и это не хорошее решение (я не могу каждый раз чистить и перезапускать Eclipse Я изменяю свой код!).
Вы когда-нибудь сталкивались с этой проблемой? Как я мог решить это?
Спасибо!