在手机上安装时,APK文件无效

时间:2012-02-07 09:21:44

标签: android eclipse android-manifest apk adt

我已经在一个项目上工作了3个月,一切正常。

从昨天开始,Eclipse不允许我在手机上安装我的应用程序。应用程序编译正常,但是当我尝试运行程序时,我收到此错误:

Installation failed due to invalid APK file!
Please check logcat output for more details.
Launch canceled!

我一直在寻找Google中的错误,大多数人都说这是版本问题。我将uses-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

我从bin文件夹中获取了apk文件,当它解压缩时,我在其中找到了我的AndroidManifest.xml。然后,我检查了Eclipse中的错误状态,并说它“无法在工作空间中找到文件D:\ xxx \ xxx \ xxx \ AndroidManifest.xml”。我也得到了同一项目的几个xml布局的相同错误。 但是我可以在Eclipse中看到,打开,编辑和保存这些文件,所以我发现它找不到它们有点奇怪。

最后一件事,昨天我可以在做一个干净的项目并重新启动Eclipse之后再次安装我的应用程序,但它似乎不再工作了,这不是一个好的解决方案(我无法做到干净并且每次都重新启动Eclipse我修改了我的代码!)。

你有没有遇到过这个问题?我怎么能解决它?

谢谢!

3 个答案:

答案 0 :(得分:4)

我有类似的问题。只需尝试清理项目并重建。它会起作用。

答案 1 :(得分:1)

尝试从旧的现有资源重建项目

  1. 新文件
  2. Android项目
  3. 选择从现有来源创建项目
  4. 然后,在下面,您可以转到项目的存储库以选择它
  5. 我有一次类似的问题,它对我有用,我希望它对你有用

答案 2 :(得分:1)

当我用尽磁盘空间,释放一些空间并清理项目解决了这个问题时,发生了这种情况。