由于APK文件无效,Eclipse安装失败了?

时间:2011-11-03 16:08:08

标签: android eclipse apk installation-package

我使用Eclipse开发Android应用程序,但是当运行项目时会看到这个错误:

Installation failed due to invalid APK file!

10 个答案:

答案 0 :(得分:8)

在我的情况下,这是由我的库中包含的.jar文件中的错误引起的。 .jar文件是我创建的文件,因此我能够修复它。以下是问题如何开始以及如何解决问题的细分:

  • 我对另一个项目(不是无法安装的项目)进行了更改
  • 导出到.jar包含项目中的所有文件(这是错误的)
  • 生成的.jar替换了我项目中已包含的那个
  • 发生错误

修复它:

  • 重新导出.jar文件,仅包含src文件夹
  • 重建并安装得很好。

包含所有不属于src文件夹的文件会导致项目和.jar中的一些重复:

  • 示例:多个androidmanifest.xml文件一个本地文件和一个文件内部.jar

这导致.apk无效。希望这有助于某人。注意:此解决方案仅在您拥有自己更改和编译的库文件时才会起作用,并且与我在不包含不需要的文件夹时犯了同样的错误。

答案 1 :(得分:8)

我们看到“无效的APK文件”错误的最常见原因之一是由于无意中更改了AndroidManifest.xml配置,导致在您的设备上安装重复的APK文件。

可信度1:版本问题。使您的最低和目标sdk版本更高,然后重试。

可信度2:包不匹配。 AndroidManifest.xml中的包名称与您的活动相关联的实际包裹不匹配。

解决此问题的三个步骤:

步骤1.检查AndroidManifest.xml

中的头文件
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.yourdomain.yourapp"
    android:versionCode="1"
    android:versionName="1.0" >

步骤2.确认您的src文件夹中的包名与您在步骤1中验证的包名完全相同。

e.g。 com.yourdomain.yourapp

步骤3.检查启动器活动中的包裹包含声明(例如MainActivity.java):

package com.yourdomain.yourapp;

如果上述解决方案无效,请发布Logcat以获得进一步的帮助。

答案 2 :(得分:3)

完全同意@melvkim的回答。有一点要补充。

另外,请确保您的包名中不使用禁用字符。 E.g:

包名错误

  • com.domain.365days - 你不能用数字(...)
  • 开始包名的任何部分
  • com.domain._365days - (...)也不是特殊字符

更正包名称

  • com.domain.days365 - 以字母
  • 开始包名的所有部分

请仔细查看您的logcat。 Eclipse IDE可能不会显示任何错误或警告,但logcat将会显示。

答案 3 :(得分:3)

在ADB上试试这个:

cd /data/local
mv tmp tmp-old
mkdir /mnt/sdcard/tmp
ln -s /mnt/sdcard/tmp ./tmp

答案 4 :(得分:0)

我确定这是版本问题。首先检查您的模拟器/手机是否具有正在开发的正确版本。

答案 5 :(得分:0)

对我来说,导致此错误的是另一个问题:

我的项目使用嵌入到APK的一些原生JNI库。为了在测试期间节省一些空间,我禁用了lib \ armeabi版本,只保留了较新的lib \ armeabi-v7a变体。一切都在较新的设备上运行良好,但在较旧的G1上进行测试会导致此错误。

答案 6 :(得分:0)

检查手机或模拟器上的平台版本(取决于您测试的位置)必须与您在AndroidManifest.xml中提到的版本相同或更高。

答案 7 :(得分:0)

就我而言,我通过更改AndroidManifest.xml

解决了这个问题

我改变了

<uses-sdk
    android:minSdkVersion="11"
    android:targetSdkVersion="19" />

<uses-sdk
    android:minSdkVersion="11"
    android:targetSdkVersion="20" />

因为eclipse给了我一个警告,也没有针对最新版本的Android。

我使用的是最新的Eclipse SDK v23 我的设备是Nexus 7 2012 KitKat 4.4.4

答案 8 :(得分:0)

在我的情况下,问题是由于Android清单文件和项目构建目标API级别不匹配所致

我从targetSdkVersion从19变为21。

此外,通过步骤given below

更改目标sdk版本
  1. 右键单击项目名称
  2. 选择属性
  3. 将“项目构建目标”更改为API级别21

答案 9 :(得分:0)

对我来说,问题是我使用了感兴趣的文件的错误路径。换句话说,apk文件不存在!为什么不能告诉我它无法找到文件?哎呀!呃,好吧。也许这会帮助别人。仔细检查以确保您的文件路径正确无误!