5

Tôi có một ứng dụng đơn giản tương đối đã có trong Cửa hàng Play của Google.Sau khi cập nhật APK hỗ trợ ít thiết bị hơn trước đây

Bây giờ tôi đã cập nhật ứng dụng này. Một điểm của Bản cập nhật này là tôi bao gồm Máy quét ZBar. Phần còn lại của những thay đổi đã được tối thiểu và không nên có bất kỳ ảnh hưởng đến vấn đề của tôi.

Tôi chỉ đăng phiên bản mới nhất của ứng dụng trong Cửa hàng Play và nhận cảnh báo sau: "Cảnh báo: APK hoạt động hỗ trợ ít thiết bị hơn APK hoạt động trước đó. Một số người dùng sẽ không nhận được cập nhật".

Tôi đã tải xuống ZBarAndroidSDK-0.2.zip từ sourceforge.net (http://sourceforge.net/projects/zbar/files/AndroidSDK/) và nhập nó vào dự án của tôi vì nó được giải thích trong README-File .

Tôi đã thử nghiệm ứng dụng cục bộ trên HTC Wildfire S (-> Phiên bản 2.3.5), trên Samsung Galaxy 3 (GT-I5800 -> Phiên bản 2.2) và trên Galaxy Nexus (-> Phiên bản 4.2). Không bao giờ có một vấn đề. Mọi thứ đã hoạt động. Tôi cũng đã thử nghiệm APK đã xuất và không gặp sự cố nào.

Bây giờ tôi thêm APK này vào Cửa hàng Play và cập nhật Ứng dụng của tôi và tôi nhận được cảnh báo cho các thiết bị được thử nghiệm. Cả HTC Wildfire của tôi và Samsung Galaxy 3 của tôi đều không thể cập nhật phiên bản mới.

Ai đó có thể giúp tôi và giải thích cho tôi vấn đề gì không?

Cảm ơn rất nhiều !!!

EDIT:

My Manifest:

<?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> 

Và Manifest của 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> 

+0

bạn có thể dán nội dung của AndroidManifest của mình không? Và biểu hiện của ZBar là tốt. Lưu ý rằng các thư viện cũng có tệp kê khai riêng của mình –

+3

Chỉ cần so sánh tệp kê khai của phiên bản đã cập nhật của bạn và phiên bản trước đó. Xem có bất kỳ thẻ '/' mới nào trong phiên bản mới không có trong phiên bản cũ không. – Krishnabhadra

+0

Sự khác biệt duy nhất giữa Manifest và ZBar, là dòng sau: _ _. Nhưng tôi không tin rằng đây là vấn đề. Tôi đoán là Google có vấn đề với các thư viện được thêm bởi Dự án ZBar. Tôi nhận được 3 thư mục khi tôi nhập khẩu dự án: armeabi, armeabi-v7a và x86. Vì vậy, tôi nghĩ rằng Google không nhận ra rằng armeabi là một cái gì đó giống như armeabi-v6. Có ai là một ý tưởng làm thế nào để giải quyết điều này? – owe

Trả lời

3

Trước hết, mọi thay đổi trong thiết bị được sử dụng phải là kết quả của tệp kê khai. Đó là điều duy nhất mà thị trường Android (Google Play) sử dụng để xác định thiết bị nào ứng dụng có thể tiếp tục. Như bạn đã thấy, một sự khác biệt là bạn có yêu cầu tự động lấy nét. Nếu bạn thay đổi dòng này thành dòng sau, nó sẽ hoạt động.

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

Về cơ bản, điều này sẽ cho phép bạn sử dụng tính năng đó, nhưng không bắt buộc. Điều này sẽ cho phép khả năng tương thích đầy đủ với tất cả các thiết bị trước đó. Để biết thêm thông tin, hãy xem this answer.

Tôi cũng xin lưu ý rằng tôi thấy máy ảnh không được ứng dụng chính của bạn yêu cầu, nhưng được yêu cầu bởi zbar. Điều này cũng có thể tạo ra sự khác biệt.

+0

Hey PearsonArtPhoto, thnks rất nhiều. Tôi cố gắng cập nhật phiên bản mới với tính năng "lấy nét tự động". – owe

+1

Thông thường nếu bạn thích một câu trả lời, bạn nên upvote/chấp nhận nó. – PearsonArtPhoto

+0

Xin lỗi, lần sau :). Bây giờ tôi đã tải lên ứng dụng của mình với tính năng "tự động lấy nét", nhưng điều này không có hiệu lực. Tôi cũng không nghĩ rằng giả định đầu tiên của tôi với libs (-> armeabi) là chính xác. Tôi đã kiểm tra cpu_abi trên cả hai thiết bị (Wildfire S, Galaxy 3) và cả hai đều có "armeabi". Có ai đã thực hiện cùng một kinh nghiệm? Tôi thực sự không hiểu vấn đề là gì. – owe

1

Tôi gặp sự cố này với ứng dụng của mình (có trình quét Zbar) trên máy tính bảng Zenithink C93 (http://www.zenithink.com/Eproducts_C93.php). Tôi cần tạo ứng dụng tương thích với các thiết bị Zenithink.

Tôi đã xuất bản ứng dụng trong Cửa hàng Play của Google.Khi tôi cố gắng cài đặt ứng dụng trên Zenithink C93 tôi đã nhận lỗi: "mục này không tương thích với thiết bị của bạn"

manifest của tôi có dòng này:

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

Nhưng nó không giúp tôi.

Ngoài ra tôi đã có điều này hỗ trợ-màn hình tag:

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

Kỳ lạ thay, nhưng sau một giải pháp tìm kiếm lâu tôi hoàn toàn loại bỏ hỗ trợ-màn hình thẻ và đặt android: yêu cầu = "false" cho <uses-feature android:name="android.hardware.camera"/> ứng dụng đã trở thành tương thích với thiết bị Zenithink.

Bây giờ Manifest của tôi trông như thế này:

... 
<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... 

Đây không phải là một giải pháp tốt, bởi vì ứng dụng sẽ tương thích với hầu hết các thiết bị này, nhưng có lẽ nó sẽ giúp một ai đó.

+0

Tôi nghĩ camera là một thiết bị khá phổ biến. Zenithink C93 không có máy ảnh? – juejiang

+0

Zenithink C93 có camera trước (2mpx). – anivaler

Các vấn đề liên quan