Google Play mağazası neden Android uygulamamın kendi cihazımla uyumlu olmadığını söylüyor?


91

Bu soruyu sormakta tereddüt ediyorum, çünkü birçok insanın benzer bir sorunu varmış gibi görünüyor ve yine de benim özel durumumu çözen bir çözüm bulamadım.

Bir Android uygulaması geliştirdim ( gerçek uygulamaya bağlantı ) ve bunu Play Store'a yükledim. Play Store diyor ki

"This app is incompatible with your XT Mobile Network HTC HTC Wildfire S A510b."

Tabii ki uygulamayı geliştirdiğim telefon bu, bu yüzden uyumlu olması gerekiyor . Diğer cihazlara sahip bazı kişiler bunun uyumlu olduğunu bildirdiğini söylerken, diğerleri uyumsuz olduğunu bildirdiğini söylüyor, ancak hiçbir eğilim bulamıyorum. (Görünüşe göre Android cihazları olan pek fazla kişiyi tanımıyorum.)

Aşağıdakileri denedim:

  • bu cevaptares/raw önerildiği gibi büyük ish bir dosyayı dizinin dışına taşımak . İçindeki tek dosya ~ 700 kB'lık bir metin dosyasıydı, ancak onu görünürde bir değişiklik olmadan taşıdım .assets/

  • aşağıdaki iki özellik iddiasını eklemek:

    <uses-feature android:name="android.hardware.faketouch" />
    <uses-feature android:name="android.hardware.touchscreen" android:required="false" />
    

    Belki telefonumun olağan android.hardware.touchscreenözelliği desteklediğini iddia etmediğini , ancak yine de görünürde bir değişiklik olmadığını düşünüyorum.

APK'yi Play Store'a yüklerken, aktif olarak bildirdiği tek filtre android.hardware.faketouchözelliktir.

Aşağıdakilerin çıktısı aapt dump badging bin/NZSLDict-release.apk:

package: name='com.hewgill.android.nzsldict' versionCode='3' versionName='1.0.2'
sdkVersion:'4'
targetSdkVersion:'4'
uses-feature:'android.hardware.faketouch'
uses-feature-not-required:'android.hardware.touchscreen'
application-label:'NZSL Dictionary'
application-icon-160:'res/drawable/icon.png'
application: label='NZSL Dictionary' icon='res/drawable/icon.png'
launchable-activity: name='com.hewgill.android.nzsldict.NZSLDictionary'  label='NZSL Dictionary' icon=''
main
other-activities
supports-screens: 'small' 'normal' 'large'
supports-any-density: 'true'
locales: '--_--'
densities: '160'

ve eksiksizlik için bildirim dosyam:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.hewgill.android.nzsldict"
      android:versionCode="3"
      android:versionName="1.0.2">
    <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="4" />
    <uses-feature android:name="android.hardware.faketouch" />
    <uses-feature android:name="android.hardware.touchscreen" android:required="false" />
    <application android:label="@string/app_name"
        android:icon="@drawable/icon">
        <activity android:name="NZSLDictionary"
                  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=".WordActivity" />
        <activity android:name=".VideoActivity" />
        <activity android:name=".AboutActivity" />
    </application>
</manifest> 

Play mağazasının "Cihaz Kullanılabilirliği" bölümünde, Wildfire S dahil tüm HTC cihazlarının "G1 (alabalık)" ve "Touch Viva (opal)" dışında desteklendiğini görebiliyorum. Aslında hem "Wildfire S (marvel)" hem de "Wildfire S A515c (marvelc)" destekli olarak listelendiğini görüyorum, ancak benim "Wildfire S A510b" özel olarak belirtilmiyor. Bu tür bir alt model tanımlayıcı bu kadar önemli olabilir mi? Google Play'den telefonuma birçok başka uygulamayı sorunsuz bir şekilde indirebildim.

Ben tek şey değil bu aşamada yapılır (olduğu gibi son sürümünü yükledikten sonra 4-6 saat beklemek Bu yoruma hala benim telefon ile uyumsuz olduğunu söylüyor olup olmadığını görmek için). Ancak Play Store sayfası şu anda en son yüklediğim 1.0.2'yi gösteriyor.


Telefonla ilgili konularda bana bir ton yardımcı olan şey ACRA'yı kurmaktı: code.google.com/p/acra Bir telefonun tüm özelliklerini aşağı çekmek için uygulamanın ilk başlangıcında çalıştırıyorum ve handleSilentExceptionsessizce rapor vermek için yöntemi kullanıyorum . En azından uygulamanın hangi donanım üzerinde çalıştığını size söyleyecektir.
Gavin Miller

2
@GavinMiller: Teşekkürler, ancak Play Store uygulamayı teslim etmeyi reddettiğinde bunun yardımcı olacağından emin değilim.
Greg Hewgill

Belki yorumunuzu yanlış anladım: "Başka cihazlara sahip olan bazı kişiler bunun uyumlu olduğunu bildirdiğini, diğerleri uyumsuz olduğunu bildirdi, ancak hiçbir eğilim bulamıyorum." Tanımadığınız birçok kişi uygulamayı indirip yükleyebiliyorsa, bir trend oluşturmak için daha büyük bir donanım verisi havuzu toplayabilirsiniz. Böylelikle "Android cihazlara sahip pek fazla insan tanımıyorum." konu.
Gavin Miller

@GavinMiller: Ancak bu sadece Google Play, o inandığı hangi cihazların bana söylermisin yapabilirsiniz yüklü olması ve cihazların Google Play, o inandığı konuda hiçbir bilgi verecektir olamaz yüklü olması. Ayrıca, hangi cihazların sorunsuz olduğunu ve hangilerinin olmadığını kesin olarak bilmek bile bu sorunu çözmeme gerçekten yardımcı olmazdı.
Greg Hewgill

bu çözümü çalışıp çalışmadığını kontrol edin stackoverflow.com/a/14020303/3392323
SAndroidD

Yanıtlar:


84

Cevap sadece uygulama boyutuyla ilgili görünüyor. Manifest dosyasında özel hiçbir şey içermeyen basit bir "merhaba dünya" uygulaması oluşturdum, Play Store'a yükledim ve cihazımla uyumlu olduğu bildirildi.

Bu uygulamada res/drawabledizine daha fazla içerik eklemek dışında hiçbir şeyi değiştirmedim . Ne zaman .apkboyutu 32 MB hakkında ulaştı Play Store benim app telefonumla uyumsuz olduğunu bildiren başladı.

Google geliştirici desteğiyle iletişim kurmaya çalışacağım ve bu sınırın nedeni konusunda açıklama isteyeceğim.

GÜNCELLEME : Google geliştirici desteğinin buna yanıtı:

notun için teşekkür ederim. Şu anda Google Play'e bir uygulama yüklemesi için maksimum dosya boyutu sınırı yaklaşık 50 MB'dir.

Ancak, bazı cihazların önbellek bölümü 50 MB'den küçük olabilir ve bu da uygulamanın kullanıcılar tarafından indirilmesini engelleyebilir. Örneğin, bazı HTC Wildfire cihazlarının 35-40 MB önbellek bölümlerine sahip olduğu bilinmektedir. Google Play, uygulamayı depolamak için yeterince büyük önbelleği olmayan bu tür bir cihazı belirleyebilirse, kullanıcının görünmesini engelleyebilir.

Küçük bir kalite kaybıyla tüm PNG dosyalarını JPG'ye dönüştürerek sorunumu çözdüm. .apkDosya Google Play, benim telefon için zorlama ne olursa olsun eşik altındadır şimdi 28 MB vardır.

Ayrıca her <uses-feature>şeyi kaldırdım ve şimdi sadece şuna sahibim :

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

Çok ilginç ve değerli bilgiler. Ve o kadar sinir bozucu ki, bu hiçbir yerde belgelenmemiş.
Michael A.

2
Aslında, Wildfire telefonum olmasaydı, sorunu asla bilemezdim.
Greg Hewgill

3 oyunum var: 32MB, 35MB ve 44MB boyutunda. Benim HTC Bravo'm ilk iki oyunu görüyor ve üçüncüyü mağazada görmüyor. Arkadaşımın HTC Desire S sadece ilk oyunu görüyor. Yani, görünüşe göre oyunların boyutu çoğu (?) Cihaz tarafından görülebilmesi için 33 MB'ın altında olmalıdır. Maalesef bu yanıtı çok geç gördüm ve sorunu aylardır bilmiyordum ... Cihazın işlemci türüne, desteklenen OpenGL sürümüne, manifestte belirlenen sınırlamalara veya başka bir şeye bağlı olduğundan emindim. Sigh ..
iseeall

7
Google'ın Play Store'daki uyumsuzluğun nedenini listelememesi delilik. Her zaman, en azından uygulama geliştiricilerinin bu bilgileri alacağını ve bilinçli olarak cihazımı desteklememeyi seçeceklerini varsaydım. Durum nasıl bu kadar uzun süre böyle kaldı?
Gerry

1
@GregHewgill Merhaba Greg. Benzer türde bir sorunla ilgili olarak Google destek ile iletişime geçtim. Uygulama boyutum sadece 5 MB olduğundan, Google Play'in uygulamamı belirli bir cihazda neden filtrelediğini farklı seçeneklere bakıyordum. Onlarla iletişime geçeli 72 saat oldu ve herhangi bir açıklama ile geri dönmediler. Normal Bize Ulaşın dışında Google Destek ile iletişime geçebilmemin bir yolu var mı?
hemanth kumar

16

Bununla da karşılaştım - tüm geliştirmelerimi bir Lenovo IdeaTab A2107A-F üzerinde yaptım ve üzerinde geliştirme yapıları çalıştırabilir ve hatta imzalı APK'leri (yüklü adb install) hiçbir sorun olmadan yayınlayabilirdim . Alfa test modunda yayınlandıktan ve Google Play'de kullanıma sunulduğunda "cihazınızla uyumsuz" hata mesajını aldım.

Benim koymuş dışarı O döner AndroidManifest.xmlbir öğretici aşağıdaki:

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

Eh, Lenovo IdeaTab A2107A-F'nin üzerinde otomatik odaklama kamerası yok ( Eksileri altında http://www.phonearena.com/phones/Lenovo-IdeaTab-A2107_id7611'den öğrendim : otomatik odaklama kamerası yok). Bu özelliği kullanıp kullanmadığımdan bağımsız olarak, Google Play hayır dedi. Bu kaldırıldıktan sonra APK'mı yeniden oluşturdum, Google Play'e yükledim ve IdeaTab'imin artık uyumlu cihazlar listesinde olduğundan emin oldum.

Bu nedenle, her birini iki kez kontrol edin <uses-feature>ve web'den biraz kopyala-yapıştır yapıyorsanız tekrar kontrol edin. Muhtemelen, kullanmadığınız bazı özellikler isteniyor.


4
Teşekkür ederim ! Başka bir <uses-feature> kullanıyordum: <uses-feature android: name = "android.hardware.camera2" /> Ve bu nedenle SIFIR uyumlu cihazlara sahiptim. Hattı kaldırdım ve şimdi 10000 var.
Jack '

Onu kullanmaya devam edecek, ancak gerektirmeyecek şekilde ayarlayabilirsiniz: <uses-feature android: name = "android.hardware.camera.autofocus" android: required = "false" />
DrChandra,

1
<uses-feature android: name = "android.hardware.camera2" />, uygulamamı uyumsuz hale getirdiğinden, uygulamayı Play Store'da bulamadım. Hayatımı
kurtar

11

Bu sorunu, uygulamalarından videoların çevrimdışı olarak kullanılabilmesini isteyen bir müşteri için bir uygulama geliştirirken de yaşadım. Aylardır üzerinde çalıştığım uygulamanın neden cihazımın oyun mağazasında görünmeyeceğine dair bir blog yazısı yazdım ( gönderi burada bulunabilir ). @Greg Hewgill ile aynı şeyi buldum: Bazı cihazlarda önbellek bölümü sınırlamaları .

Yolculuk benim için orada durmadı. Müşteri bu videoların uygulamada olmasını istedi ve video kalitesinin düşürülmesini istemedi. Biraz araştırdıktan sonra, genişletme dosyalarını kullanmanın sorunumuz için mükemmel bir çözüm olduğunu anladım .

Bilgimi Android topluluğu ile paylaşmak için droidconNL 2012'de genişletme dosyaları hakkında bir konuşma yaptım . Genişletme dosyalarını kullanmaya başlamanın ne kadar kolay olabileceğini göstermek için bir sunum ve örnek kod oluşturdum. Bu sorunu çözmek için genişletme dosyalarını kullanmak isteyenler , sunumu ve örnek kodu içeren gönderiyi kontrol etmekten çekinmeyin.


4
Gönderinizde belirtilen Google destek bağlantısı artık güncel değil, yeni bağlantı support.google.com/googleplay/android-developer/answer/… . Umarım makaleyi en son bağlantı ve btw, güzel gönderi ile güncellersiniz. !!
Rohan Kandwal

7

Destek ekranları özelliğini denemek ve ayarlamak isteyebilirsiniz:

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

Wildfire'ın küçük bir ekranı var ve belgelere göre bu öznitelik her durumda varsayılan olarak "true" olarak ayarlanmalıdır, ancak farklı telefonlardaki destek ekranları ayarlarında bilinen sorunlar var, bu yüzden yine de deneyeceğim.

Ayrıca - David'in önerdiği gibi - güçlü nedenleriniz yoksa, her zaman Android API'nin en güncel sürümüne göre derleyin ve hedefleyin. 2.2'den önceki hemen hemen her SDK'nın bazı ciddi sorunları veya garip davranışları vardır; ikinci SDK'nın (hepsini olmasa da) birçoğunu çözmek veya örtbas etmek için yardımı. Bir sürüm hazırlarken uygulamanızın API 4 ile uyumlu olup olmadığını kontrol etmek için Lint aracını kullanabilirsiniz (ve kullanmalısınız).


Teşekkürler, en son destek talebim için Google geliştirici desteğinden yanıt bekliyorum. Bunu onlardan bir yanıt aldıktan sonra deneyeceğim (başka bir APK yükleyerek onları karıştırmak istemiyorum). Bunun nasıl sonuçlandığını size bildiririm.
Greg Hewgill

Umarım çok uzun süre beklemek zorunda kalmazsın. Hızlı tepkiler konusunda tam olarak bir üne sahip değiller. :-)
Michael A.

Onlarla zaten birkaç kez ileri geri gittim, ancak son sorum 22 saattir cevapsız kaldı. Beklemek sinir bozucu ama en azından bu kritik görev falan değil.
Greg Hewgill

Sorunu bulduğumu bilmenizi istedim, bu soruya cevabımı görün. Yardımınız için teşekkürler.
Greg Hewgill

7

Finlay, başvurumda da aynı sorunla karşılaştım. android:minSdkVersion="7" & android:targetSdkVersion="18"Android platformunun son sürümü olan Phone Gap uygulamasını geliştirdim .

Google Dokümanlar kullanarak sorunu buldum

Sorun olabilir, KEY-CODEyalnızca Alfabe ve Numarayı doğrulamak için üzerinde çalışan bazı JS işlevi yazmış olmam, ancak klavyenin özellikle bilgisayar klavyesi ve Mobil klavye için farklı anahtar kodlarına sahip olması olabilir. Benim sorunum buydu.

Cevabımın doğru olup olmadığından emin değilim ve yukarıdaki cevaba gülümsemek mümkün olabilir, ancak uygulamayı oluştururken dikkat edilmesi gereken bazı noktaları listelemeye çalışacağım. bu tür bir sorunu çöz.

  • android:minSdkVersion="?"Gereksiniminize göre kullanın ve android:targetSdkVersion="?"uygulamanızın hedefleyeceği en son sürüm olmalıdır. daha fazla gör

  • Yalnızca uygulamanızda kullanılacak izinleri eklemeye çalışın ve gereksiz olanların tümünü kaldırın.

  • Uygulamaya göre desteklenen ekrana bakın

    <supports-screens 
    android:anyDensity="true"
    android:largeScreens="true"
    android:normalScreens="true"
    android:resizeable="true"
    android:smallScreens="true"
    android:xlargeScreens="true"/>
    
  • Bazı cihazlarda veya sekmelerde geç çalışamayan bazı kostüm kodu veya kostüm widget'ı uygulayabilirsiniz, bu nedenle uzun kodu yazmadan önce ilk olarak bir beta kodu yazmayı deneyin ve kodunuzun tüm cihazlarda çalışıp çalışmayacağını test edin. .

  • Ve umarım Google, uygulamayı yüklemeden önce kodunuzu doğrulayabilecek bir araç yayınlar ve ayrıca bazı belirli nedenlerden dolayı uygulamanızı bazı cihazlarda çalıştırmamıza izin vermediğimizi, böylece kolayca çözebileceğimizi söyler.


6

Birkaç önerim var:

  1. Her şeyden önce, API 4'ü hedefiniz olarak kullanıyor görünüyorsunuz. AFAIK, her zaman en son SDK'ya android:minSdkVersiongöre derlemek ve buna göre kurulum yapmak iyi bir uygulamadır .

  2. Bunu göz önünde bulundurarak, android:requiredözelliğin API 5'te eklendiğini unutmayın :

Özellik bildirimi android:required=["true" | "false"], uygulamanın (...)

Bu nedenle, SDK 15'e göre derlemenizi, 15'e ayarlamanızı targetSdkVersionve bu işlevselliği sağlamanızı öneririm .

Ayrıca burada, Play sitesinde, sahip olduğum (tesadüf mü?) Gingerbread (burada Galaxy Ace ve Galaxy Y) olan herhangi bir cihazla uyumsuz olduğunu gösteriyor . Ancak Galaxy Tab 10.1 ( Honeycomb ), Nexus S ve Galaxy Nexus (her ikisi de ICS'de ) ile uyumlu olduğunu gösteriyor .

Bu da beni meraklandırdı ve bu çok çılgın bir tahmin, ancak android.hardware.faketouch API11 + olduğu için neden sadece çalışıp çalışmadığını görmek için kaldırmayı denemiyorsunuz? Ya da belki de hepsi bununla ilgilidir, çünkü özellikleri ( faketouch) ve requiredAPI 4'te bulunmayan özniteliği kullanmaya çalışıyorsunuz . Ve bu durumda en son API'ye göre derlemelisiniz.

İlk önce bunu deneyeceğim ve faketouchgereksinimi yalnızca son çare olarak kaldıracağım (elbette) - geliştirme sırasında işe yaradığından, derlenen uygulamanın özelliği tanımaması sorunu olduğunu söyleyebilirim (SDK gereksinimleri nedeniyle) , böylece Play'de beklenmeyen filtreleme sorunları bırakıyor.

Bu tahmin sorunuzu yanıtlamadıysa üzgünüz, ancak bu tür sorunları gerçekten test etmeden teşhis etmek ve çözümü tam olarak belirlemek çok zordur. Ya da en azından benim için, Play'in uygulamaları gerçekten nasıl filtrelediğine dair tüm uygun bilgi olmadan.

İyi şanslar.


Teşekkürler, bu bana bazı spesifik fikirler veriyor. Başlangıçta hiç <uses-feature>etiketim yoktu , bu onu daha az cihaz yerine daha fazla cihazla uyumlu hale getirme girişimiydi. En olası yaklaşım gibi görünen SDK sürüm etiketlerini değiştirmeyi deneyeceğim. Kullandığımı eklemeliyim minSdkVersion="4"çünkü bu sürüm artık uygulamamın ihtiyaç duymadığı bazı izinleri (telefon durumunu oku, sd kartı değiştir) içermiyor.
Greg Hewgill

SDK sürümlerini olarak değiştirmek de android:minSdkVersion="5" android:targetSdkVersion="15"yardımcı olmadı. Google Play geliştirici desteğiyle iletişime geçtim ve umarım nedenini bana söyleyebilirler. Filtreleme nedeninin Play uygulama sayfasında gösterilmesi kesinlikle güzel olurdu .
Greg Hewgill

Evet bu çok iyi olur. Bu arada, ayarlamayı deneyin vermedi faketoucholarak required= false?
davidcesarino

En son yineleme, tüm <uses-feature>etiketleri kaldırıyor çünkü Google desteği, cihazım için kullanılamama nedeninin android.hardware.faketouchözellik yüzünden olduğunu söyledi . Bu çok saçma görünüyor, özellikle de önceki sürümlerimden biri de <uses-feature>etiketlere sahip olmadığından , ama her neyse. Yanıtlarını bekliyorum ve başka bir sürüm yükleyerek onların kafasını karıştırmak istemiyorum. Yeni APK'ları tekrar tekrar yüklemeden ve yayınlamadan bunu test etmenin bir yolu olsaydı iyi olurdu.
Greg Hewgill

Gülünç demem, çünkü daha sonraki sdk sürümlerinde (api 11) eklenen bir bayrak, bu yüzden api15'e karşı derlemeyi ve hedeflemeyi önerdim (sadece manifest değil, project.propertiesinizi de değiştirmeyi unutmayın). Yine de gerektiği gibi ayarlamaya şaşırıyorum = yanlış olsa da işe yaramadı.
davidcesarino

6

Yukarıdaki 'Bu uygulama ... ile uyumsuz' sorununa ekstra bir çözüm vermek için, farklı bir sorun nedeni için çözümümü paylaşmama izin verin. Düşük kaliteli bir Samsung Galaxy Y (GT-S6350) cihazına bir uygulama yüklemeyi denedim ve bu hatayı Play Store'dan aldım. Çeşitli AndroidManifest yapılandırmalarını test etmek için bir hesap oluşturdum ve cihazım desteklenen cihaz listesinde görünene kadar https://stackoverflow.com/a/5449397/372838 adresinde açıklanan rutini takip ettim.

Kamera iznini kullandığınızda pek çok cihazın uyumsuz olduğu ortaya çıktı:

<uses-permission android:name="android.permission.CAMERA" />

Bu özel izni kaldırdığımda, uygulama 870 yerine 1180 cihaz için mevcuttu. Umarım birilerine yardımcı olur


7
Belki bu yardımcı olabilir: <uses-allow android: name = "android.permission.CAMERA" /> <uses-feature android: name = "android.hardware.camera" android: required = "false" />
user1205415

6

Özellik Gereksinimlerini İfade Eden İzinler

Örneğin, android.hardware.bluetooth özelliği Android 2.2'de (API seviyesi 8) eklenmiştir, ancak ilgili bluetooth API'si Android 2.0'da (API seviyesi 5) eklenmiştir. Bu nedenle, bazı uygulamalar, sistem aracılığıyla API'ye ihtiyaç duyduklarını bildirmeden önce API'yi kullanabildi.

Google Play, bu uygulamaların istenmeden kullanıma sunulmasını önlemek için, donanımla ilgili belirli izinlerin, temeldeki donanım özelliklerinin varsayılan olarak gerekli olduğunu gösterdiğini varsayar. Örneğin, Bluetooth kullanan uygulamaların bir öğede BLUETOOTH izni istemesi gerekir - eski uygulamalar için Google Play, izin bildiriminin temeldeki android.hardware.bluetooth özelliğinin uygulama tarafından gerekli olduğu anlamına geldiğini varsayar ve bu özelliğe göre filtreleme ayarlar. .

Aşağıdaki tablo, öğelerde belirtilenlere eşdeğer özellik gereksinimlerini ifade eden izinleri listelemektedir. Belirtilen herhangi bir android: gerekli öznitelik dahil bildirimlerin her zaman aşağıdaki izinlerin ima ettiği özelliklerden öncelikli olduğunu unutmayın.

Aşağıdaki izinlerden herhangi biri için, örtük özelliği bir öğede açıkça android: required = "false" özniteliğiyle açık bir şekilde bildirerek filtrelemeyi devre dışı bırakabilirsiniz. Örneğin, CAMERA iznine dayalı herhangi bir filtrelemeyi devre dışı bırakmak için, bu bildirimi bildirim dosyasına eklersiniz:

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


<uses-feature android:name="android.hardware.bluetooth" android:required="false" />
<uses-feature android:name="android.hardware.location" android:required="false" />
<uses-feature android:name="android.hardware.location.gps" android:required="false" />
<uses-feature android:name="android.hardware.telephony" android:required="false" />
<uses-feature android:name="android.hardware.wifi" android:required="false" />

http://developer.android.com/guide/topics/manifest/uses-feature-element.html#permissions


Teşekkür ederim! Gereken özelliğe varsayılan olarak ayarlanmış hiçbir fikrim kullanım izni yoktu.
Jim Pekarek


3

Zaten birkaç cevap olmasına rağmen, cevabımın benimle tamamen aynı sorunu yaşayanlara yardımcı olabileceğini düşündüm. Benim durumumda, sorun, bir reklam ağının önerisine göre eklenen aşağıdaki izinlerden kaynaklanıyor:

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

Yukarıdaki izinlerin sonucu, aşağıdaki özelliklerin otomatik olarak eklenmesidir:

android.hardware.LOCATION
android.hardware.location.GPS
android.hardware.location.NETWORK

Bunun nedeni, "Google Play, manifest dosyasında belirtilen diğer öğeleri, özellikle öğeleri inceleyerek bir uygulamanın zımni özellik gereksinimlerini keşfetmeye çalışır." Test cihazlarımdan ikisi yukarıdaki özelliklere sahip olmadığından uygulama onlarla uyumsuz hale geldi. Bu izinlerin kaldırılması sorunu hemen çözdü.


2

Bu sorunun ortaya
çıkması için ek bir yol buldum: LG telefonumun orijinal işletim sistemi Froyo (Android 2.2) idi ve ICS'ye (Android 4.0.4) güncellendi. Ancak Google Play Geliştirici Konsolu, telefonumu bir Froyo cihazı olarak algıladığını gösteriyor. (Google Play, yanlış 'uyumsuzluk' nedeniyle uygulamanın indirilmesine izin vermedi, ancak bir şekilde kurulumu yine de tespit ediyor.)

Telefonun 'yazılım' içindeki ayarları ICS V4.0.4'ü gösterir. Görünüşe göre telefon için Google Play sunucu bilgileri cihazdaki ICS güncellemesini yansıtacak şekilde güncellenmemiş. Uygulama manifestosu minSDK Honeycomb (3.0) olarak ayarlandı, bu nedenle elbette Google Play uygulamayı filtreler.

Ek ilgi çekici olan:
Uygulama, Uygulama İçi Faturalandırma V3'ü kullanır. IabHelper üzerinden ilk kez kullanıldığında, uygulamanın Google Play hizmeti üzerinden alışveriş yapmasına izin verilir. Ancak satın alma yapıldıktan sonra, satın alma envantere KOYULMAZ ve IabHelper hiçbir ürünün sahip olmadığını bildirir. Hata ayıklama mesajları, Google Play penceresi "satın alma işlemi başarılı" olarak duyursa da satın alma işleminden bir "satın alma başarısız" sonucunu gösterir.


0

Ben de aynı sorunu yaşadım. Bunun nedeni, bildirimimde ve gradle derleme komut dosyamda farklı sürüm kodları ve numaraları bulunmasıydı. Bildirimimden sürüm kodunu ve sürüm numarasını kaldırarak ve bunu gradle'ın halletmesine izin vererek sorunu çözdüm.


0

Ben de aynı sorunu yaşadım. React Native 59 ile oluşturulmuş Test modunda bir Uygulama yayınladım. Bazı test kullanıcıları için uyumlu değildi. Uygulamayı yalnızca belirli ülkelerde kullanılabilir olacak şekilde kısıtladığımı anladıktan sonra, uygulamanın neden uyumlu olmadığına dair mesaj net değildi. sorun buydu, ama dediğim gibi mesaj net değildi. Play Store WebApp'ta mesaj şu şekildedir: "bu uygulama cihazınızla uyumlu değil". mobil uygulamada "Bu uygulama ülkenizde mevcut değil" mesajı


0

2020'de buradaysanız ve hata mesajını alan cihazın uyumlu olması gerektiğini düşünüyorsanız:

Instagram (1B + kurulumlar) ve Clash of Clans (100M + kurulumlar) dahil olmak üzere diğer birçok büyük uygulama buna girdi. Google'ın Android işletim sistemiyle ilgili bir sorun gibi görünüyor.

"Cihazınız bu sürümle uyumlu değil" hata mesajını düzeltmek için Google Play Store önbelleğini ve ardından verileri temizlemeyi deneyin. Ardından, Google Play Store'u yeniden başlatın ve uygulamayı tekrar yüklemeyi deneyin.

[ https://support.getupside.com/hc/en-us/articles/226667067--Device-not-compatible-error-message-in-Google-Play-Store]

Önbelleğin nasıl temizleneceğine dair kullanıcılarınıza bağlayabileceğiniz Google'ın resmi destek sayfasına bağlantı: https://support.google.com/googleplay/answer/7513003


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.