我制作了一款在三星Galaxy S1,Galaxy S2和模拟器上运行良好的Android应用程序。我把它的apk发送给有HTC欲望设备的人,当他试图安装应用程序时,他说他有错误:
There was an error parsing the package.
由于我自己并不拥有HTC,我试图设置一个模拟器,尽可能接近HTC欲望设备的规格,我从这里得到:The correct Eclipse/Android device configuration for HTC Desire
该应用程序在我的模拟器上使用这些设置运行良好,但不在实际设备上安装。有什么想法可以导致这个?我该如何找到问题?
如果相关,这是清单的开始:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="memo.ori.friend"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<application android:icon="@drawable/icon" android:label="@string/app_name"
android:debuggable="true">
HTC渴望Android版本是2.2,这是我在创建这个项目时选择的。检查所有已检查的电话以允许安装来自未知来源的应用。在这个应用程序中有大约5个drawables,我已经放入res / drawable-hdpi。我想也许HTC正在res / drawable-mdpi上寻找它们,所以我也将它们复制到那里,但结果相同。答案 0 :(得分:1)
我很确定问题是HTC Desire上的Android版本低于API级别8.据我所知,Desire最初是随Android 2.1一起发布的,它是API Level 7。
我在尝试在Samsung Galaxy S1上安装我的应用程序时发现了同样的错误。我的应用程序是为API级别10设计的,我发现三星Galaxy S1从未在Andoid 2.2上更新和运行。
我猜你的问题很相似,欲望上的Android版本很低。
更新:
由于litte resarch导致这个: 正如我上面写的那样,错误可能是由于API级别低(根据安装的Android版本,你会在手机上找到一个带有Android版本的表 - API级别)。 但错误也可能由以下原因引起: 在自动创建后重命名* .apk文件,在某些设备上,这似乎是从SD卡安装时发生的。 当尝试直接从Mail-Attchment安装时,也会报告一些麻烦 - 导致此错误的事情。
因此,如果您遇到此错误,请务必: 1.确保手机上的Android版本足够高 2.创建后不要重命名apk-File 3.不要尝试直接从邮件附件安装 4.请勿从SD卡安装,请从内部手机内存中试用
如果这一切都没有帮助,那么它实际上是时候查看Manifest,因为它的解析错误,但是因为它在其他一些设备上运行,所以不能解决你的问题。
答案 1 :(得分:0)
你的活动在你的清单中运行在哪里? 清单应该有一个启动活动来启动它像
<uses-sdk android:targetSdkVersion="7"/>
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>