2014-01-13 36 views
0

我使用Android 4.4.2平臺使用intelliJ 13, 指定了minSdkVersion到8(Android 2.2)構建了一個apk。我試圖將apk部署到Android 4.1的智能手機,但它無法安裝,並給我解析錯誤。所以,我想知道是否需要使用android 4.1 api來構建apk以將其部署到android 4.1電話?android版本和解析錯誤

這是清單文件:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="com.example.HelloDroid" 
     android:versionCode="1" 
     android:versionName="1.0"> 
<uses-sdk android:minSdkVersion="8"/> 
<application android:label="@string/app_name" android:icon="@drawable/ic_launcher"> 
    <activity android:name="MyActivity" 
       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> 
</manifest> 
+0

清單中不支持的內容 - 請將其包含在問題中。 – laalto

+0

@laalto我已經添加了清單文件。 – daiyue

+0

看起來夠簡單。嘗試將'targetSdkVersion'添加到'uses-sdk'中 - 一些設備對它沒有被定義或定義爲小於最小值(在省略的情況下將爲1)挑剔 – laalto

回答

0

您忘記了targetSdkVersionuses-sdk。如果未指定,則它將默認爲1.如果targetSdkVersion小於minSdkVersion,則某些設備很挑剔,並在處理清單二進制XML時報告解析錯誤。

1

我認爲錯誤是在下面一行

<activity android:name="MyActivity"//Error is here. 
      android:label="@string/app_name"> 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN"/> 
     <category android:name="android.intent.category.LAUNCHER"/> 
    </intent-filter> 
</activity> 

你需要把一個 「」在您的活動名稱之前。只需將其更改爲

<activity android:name=".MyActivity" 

你可以看到這裏的解釋中Android Developer Documents的標籤android:name<activity />下。