0

私は何かについて少し混乱しています。

アプリを作成し、次の仕様の 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@and 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 テスト キー

そして.... HTC にアプリをインストールしない adb install コマンドを使用して、アプリを正常にインストールできます。

「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>
4

2 に答える 2

1

使用してみてください

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

それはあなたの問題を解決します。なぜなら、uses-sdkに関するこのドキュメントを読んだからです。

注意この(uses-sdk android:minSdkVersion)属性を宣言しない場合、システムはデフォルト値「1」を想定します。これは、アプリケーションがAndroidのすべてのバージョンと互換性があることを示します。アプリケーションがすべてのバージョンと互換性がなく(たとえば、APIレベル3で導入されたAPIを使用している)、適切なminSdkVersionを宣言していない場合、APIレベルが3未満のシステムにインストールすると、アプリケーションはクラッシュします。使用できないAPIにアクセスしようとしたときのランタイム。このため、minSdkVersion属性で適切なAPIレベルを宣言してください。

出典:Androidデベロッパーのウェブサイト

于 2012-06-18T02:20:43.927 に答える
0

これについて考えられる問題は、デバイスで使用できない機能を使用していることです。カメラやNFCなど。

あなたは設定minSdkVersionしただけtargetSdkVersionですよね?

マニフェストにhtcが気に入らないことがあります。詳細を確認して把握できるように、 AndroidManifest.xmlファイルを投稿してください。

于 2012-06-18T00:38:43.630 に答える