在AndroidManifest中使用-sdk

时间:2012-06-17 22:44:09

标签: android android-emulator

我对某事感到有些困惑。

我写了一个应用程序,并在LG Ally上测试了以下规格:

Android版: 2.2.2

内核版本: 2.6.32.9

内部版本号: FRG83G

的 现在我正在尝试使用以下规范在HTC上安装它(通过adb install AppName.apk):

Android版: 2.3.3

内核版本: 2.6.35.10-gc0a661b HTC-kernel @和18-2#1

内部编号: 4.24.651.1 CL61076

我收到错误,例如'错误解析包'

这是我感到困惑的地方。我想尝试复制问题。所以我用规格创建了一个模拟器AVD:

Android版: 4.0.3

内核版本: 2.6.29-g46b05b2 vchtchetkine @ vc-irv#28

内部版本号: google_sdk-eng 4.0.4 MR1 302030测试密钥

并且....我可以使用adb install命令成功安装我的应用程序,该命令不会在HTC上安装该应用程序。

我不明白为什么我可以使用'adb install'把它放在LG Ally和模拟器上,但我在HTC上得到了解析错误。

我认为我可能需要在AndroidManifest中,但为什么我可以在没有它的情况下在模拟器上安装?

我的清单如下(我为了简洁而删除了活动定义):

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.mj.molepatrol"
  android:versionCode="1"
  android:versionName="1.0">


  <application android:icon="@drawable/icon" android:label="@string/app_name">

      <uses-library android:name="com.google.android.maps" />

  </application>

      <uses-permission
      android:name="android.permission.READ_CALENDAR">
      </uses-permission>

  <uses-permission
       android:name="android.permission.WRITE_CALENDAR">
  </uses-permission>

  <uses-permission
       android:name="android.permission.EDIT_CALENDAR">
  </uses-permission> 

  <uses-permission android:name="android.permission.INTERNET" />

      <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

      <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
</manifest>

2 个答案:

答案 0 :(得分:1)

尝试使用

<uses-sdk android:minSdkVersion="10">

它将解决您的问题。因为,我阅读了有关uses-sdk的文档,

警告如果您未声明此(使用-sdk android:minSdkVersion)属性,系统将采用默认值“1”,表示您的应用程序与所有版本的Android。如果您的应用程序与所有版本不兼容(例如,它使用API​​级别3中引入的API)并且您尚未声明正确的minSdkVersion,那么当安装在API级别小于3的系统上时,应用程序将在崩溃期间崩溃尝试访问不可用的API时的运行时。因此,请务必在minSdkVersion属性中声明相应的API级别。

来源:Android Developers Website

答案 1 :(得分:0)

可能出现的问题是您使用的是设备无法使用的功能。如相机或NFC。

您只设置了minSdkVersiontargetSdkVersion吗?

htc不喜欢清单中的内容,请发布您的 AndroidManifest.xml 文件,以便我们查看具体信息并为您解决