我的应用程序不会安装在HVGA设备上

时间:2012-01-10 22:32:37

标签: android android-manifest

我有一个我开发的应用程序,我正在多个设备上测试它。

该应用程序不会安装在三星Galaxy Q上(使用HVGA 320x480屏幕运行Froyo)。

minSdkVersion是7,所以不应该是问题。它安装并运行正常。更大的屏幕设备。

我已将所有屏幕尺寸的AndroidManifest.xml <supports-screens>标志设置为true。

我在尝试安装.apk时遇到的错误是“应用程序未安装”。

它在具有相同屏幕分辨率和操作系统版本的仿真器上安装得很好。

这是清单,请注意,因为项目是在NDA下我用“%%%%”替换了可识别的元素。

AndroidManifest.xml

<manifest android:versionCode="1"
      android:versionName="1.0"
      package="%%%%"
      xmlns:android="http://schemas.android.com/apk/res/android">
<application android:debuggable="false"
           android:hardwareAccelerated="true"
           android:icon="@drawable/icon"
           android:label="@string/app_name"
           android:name="%%%%"
           android:theme="@style/Theme.LoadingBackground">
<activity android:label="@string/app_name"
          android:name="%%%%" />
<activity android:icon="@drawable/icon"
          android:label="@string/app_name"
          android:launchMode="singleTask"
          android:name="%%%%"
          android:screenOrientation="portrait">
  <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.LAUNCHER" />
  </intent-filter>
</activity>
<activity android:label="Store Front Widget"
          android:name="%%%%"
          android:screenOrientation="portrait"
          android:taskAffinity="%%%%">
  <intent-filter>
    <action android:name="android.intent.action.MAIN" />
  </intent-filter>
</activity>
<receiver android:label="%%%%"
          android:name="%%%%">
  <intent-filter>
    <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
  </intent-filter>
  <meta-data android:name="android.appwidget.provider"
             android:resource="@xml/widget_provider" />
</receiver>
<receiver android:name="%%%%" />
<service android:name="c%%%%" />
<service android:name="%%%%">
  <intent-filter>
    <action android:name="%%%%" />
  </intent-filter>
</service>
<service android:name="%%%%">
  <intent-filter>
    <action android:name="%%%%" />
  </intent-filter>
</service>
<uses-library android:name="com.google.android.maps" />
</application>
<supports-screens android:anyDensity="true"
                android:largeScreens="true"
                android:normalScreens="true"
                android:smallScreens="true" />

<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

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

2 个答案:

答案 0 :(得分:2)

你制作了什么样的应用程序?

如果您在应用中使用相机资源,则必须检查预览帧尺寸。

public Camera getCameraInstance(){
    Camera c = null;
    try {
        c = Camera.open(); 

        Parameters param = c.getParameters();

        List<Size> list = param.getSupportedPreviewSizes(); 
        int list_size = list.size();

        Log.e("list size", Integer.toString(list_size));

        int supportedH = list.get(2).height;
        int supportedW = list.get(2).width;

        Log.e("supported height", Integer.toString(supportedH));
        Log.e("supported width", Integer.toString(supportedW)); 

        param.setPreviewFormat(ImageFormat.NV21); 
        c.setParameters(param);            
    }
    catch (Exception e){
        Log.e("colorPicker", e.toString());
    }
    return c;
}

答案 1 :(得分:1)

仔细检查设备上是否已安装您的应用版本。如果您尝试安装应用程序且具有相同程序包名称的应用程序,则会出现相同的错误,但设备上已存在不同的签名。

如果有一个,可能是用不同的密钥(过期的调试密钥或发布密钥或其他东西)签名,请将其卸载,你应该好好去。

如果您没有安装另一个,请发布您的清单文件,以便我们查看。