7

Google の Play ストアに既にある比較的単純なアプリがあります。

今、私はこのアプリの更新を行いました。この更新の 1 つのポイントは、ZBar-Scanner を含めたことです。残りの変更は最小限であり、私の問題に影響を与えるべきではありません。

アプリの最新バージョンを Play ストアに置いたところ、次の警告が表示されました。

sourceforge.net (http://sourceforge.net/projects/zbar/files/AndroidSDK/) から ZBarAndroidSDK-0.2.zip をダウンロードし、README ファイルで説明されているようにプロジェクトにインポートしました。

HTC Wildfire S (->バージョン 2.3.5)、Samsung Galaxy 3 (GT-I5800 -> バージョン 2.2)、Galaxy Nexus (-> バージョン 4.2) でローカル アプリをテストしました。問題はありませんでした。すべてが機能しました。エクスポートした APK もテストしましたが、問題はありませんでした。

この APK を Play ストアに追加し、アプリを更新すると、テスト済みのデバイスに関する警告が表示されます。HTC Wildfire も Samsung Galaxy 3 も新しいバージョンに更新できません。

誰でも私を助けて、何が問題なのか説明してもらえますか?

どうもありがとう!!!

編集:

私のマニフェスト:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="de.myproject"
android:versionCode="5"
android:versionName="2.0" 
android:installLocation="preferExternal"
>

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="11"/>

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:name="android.hardware.camera" android:required="false"/>

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

    <!-- enable the search dialog to send searches to SearchableActivity throughout the application -->
    <meta-data
        android:name="android.app.default_searchable"
        android:value=".SearchableActivity" />

    <activity
        android:label="@string/app_name"
        android:name=".MainActivity" 
        android:screenOrientation="portrait"
        android:theme="@style/Theme.NoBackground">                                  

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

    </activity>

    <activity
        android:label="@string/app_name"
        android:screenOrientation="landscape"
        android:name=".zbar.ZBarScannerActivity">                            
    </activity>

</application>

ZBar のマニフェスト:

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

<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />

<application android:label="@string/app_name" >
    <activity android:name="CameraTestActivity"
              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>

4

2 に答える 2

3

まず第一に、使用されるデバイスの変更はマニフェストの結果でなければなりません。これは、Android マーケット (Google Play) がアプリを実行できるデバイスを決定するために使用する唯一のものです。あなたが示したように、1 つの違いは、オートフォーカスが必要だったことです。この行を次のように変更すると、機能するはずです。

<uses-feature android:name="android.hardware.camera.autofocus" android:required="false">

基本的に、これによりその機能を使用できるようになりますが、必須にはなりません。これにより、以前のすべてのデバイスとの完全な互換性が可能になります。詳細については、この回答を参照してください。

また、メイン アプリではカメラが必要ではなく、zbar では必要であることがわかりました。これも違いを生む可能性があります。

于 2012-11-30T12:17:25.123 に答える
1

タブレットZenithink C93 ( http://www.zenithink.com/Eproducts_C93.php )のアプリケーション (Zbar スキャナーを使用) でこの問題が発生しました。Zenithink デバイスと互換性のあるアプリケーションを作成する必要がありました。

Google の Play-Store にアプリを公開しました。Zenithink C93 にアプリケーションをインストールしようとすると、「この項目はお使いのデバイスと互換性がありません」というエラーが表示されました。

私のマニフェストには次の行がありました:

<uses-feature android:name="android.hardware.camera.autofocus" android:required="false">

しかし、それは私を助けませんでした。

また、このsupport-screensタグがありました:

<supports-screens
android:smallScreens="false"                                                               android:normalScreens="false"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true"/>

奇妙なことに、長い検索ソリューションの後、support-screens タグを完全に<uses-feature android:name="android.hardware.camera"/>削除し、アプリケーションが Zenithink デバイスと互換性を持つように android:required="false" を配置しました。

今、私のマニフェストは次のようになります。

...
<uses-sdk
    android:minSdkVersion="14"
    android:targetSdkVersion="15"/>  

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

<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>

<application...

アプリケーションはほとんどすべてのデバイスと互換性があるため、これは良い解決策ではありませんが、誰かを助けるかもしれません.

于 2013-04-10T19:10:55.913 に答える