0

所以我在Android上做了一个应用程序,我用Android 4.1(4.2 JB)编译它,当我把它上传到朋友的手机(Xperia X8 with 2.1)时,我得到'解析包有问题',所以我去了清单文件并将版本更改为

<uses-sdk
android:minSdkVersion="2"
android:targetSdkVersion="4" />

这不会改变什么吗?我应该重做整个应用程序并将“编译方式”设置为 2.1 吗?有什么解决办法吗?

如果这不是问题,一个人只是告诉我问题出在我的包名上。见鬼,我不明白他为什么认为包名与错误有任何关系。我见过各种具有不同包名称的 Android 应用程序,主要是开发人员的反向域。

我用过in.iman.mynewapp,他争辩说,因为我的朋友在加拿大和塞尔维亚,它行不通,我必须用com.iman.mynewapp。我知道这看起来很愚蠢,但只是想澄清一下包名是否与错误无关,它就像一个变量名(仅具有自己的命名协议),不是吗?

我已经在https://stackoverflow.com/questions/18684100/receiving-porblem-parsing-the-package-in-phone提出了这个问题

它仍然等待任何回复或评论,也许这是一个非常糟糕的问题。

4

2 回答 2

1

包名确实与国家没有任何关系。针对 android 4.2 编译的应用程序可能无法仅通过更改minSdkVersion. 您还应该确保在删除 min sdk 版本时不会出现任何编译错误。新版本的 android 具有较低版本中不存在的新 API。

总而言之,我建议针对 android 2.1 重新编译。通过这种方式,您还可以确保所有代码都可针对该特定版本的 Android 进行编译。

附带说明一下,android 2.1 是 api 7 级,android 4.2 是 api 17 级,所以你也可以试试这个:

<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="17" />

您可以在此处找到不同 android OS 版本的 Api 级别列表

于 2013-09-12T04:26:54.780 回答
0

这可能是由于 apk 文件仅与您的 android 手机兼容的原因。这可能是由于安全原因导致无法安装未知文件。因此,如果问题是由于 android 版本引起的,则更改 Manifest 文件有效,否则无法访问未知文件来自安全选项的文件。

于 2013-09-12T04:28:15.210 回答