ฉันลังเลที่จะถามคำถามนี้เพราะดูเหมือนว่าหลาย ๆ คนจะมีปัญหาคล้าย ๆ กันแต่ฉันก็ยังไม่พบวิธีแก้ปัญหาที่ช่วยแก้ปัญหาเฉพาะของฉันได้
ฉันได้พัฒนาแอป Android ( ลิงก์ไปยังแอปจริง ) และอัปโหลดไปยัง Play store Play store กล่าว
"This app is incompatible with your XT Mobile Network HTC HTC Wildfire S A510b."
แน่นอนว่าเป็นโทรศัพท์ที่ฉันพัฒนาแอปดังนั้นจึงควรเข้ากันได้ บางคนที่มีอุปกรณ์อื่น ๆ บอกว่ามันรายงานว่าเข้ากันได้บางคนบอกว่ารายงานว่าเข้ากันไม่ได้ แต่ฉันไม่พบแนวโน้ม (เห็นได้ชัดว่าฉันไม่รู้จักคนจำนวนมากที่มีอุปกรณ์ Android)
ฉันได้ลองทำสิ่งต่อไปนี้แล้ว:
การย้ายไฟล์ขนาดใหญ่ออกจาก
res/raw
ไดเร็กทอรีตามที่คำตอบนี้แนะนำ ไฟล์เดียวในนั้นคือไฟล์ข้อความ ~ 700 kB แต่ฉันย้ายไปassets/
โดยไม่มีการเปลี่ยนแปลงที่ชัดเจนเพิ่มการยืนยันคุณสมบัติสองประการต่อไปนี้:
<uses-feature android:name="android.hardware.faketouch" /> <uses-feature android:name="android.hardware.touchscreen" android:required="false" />
คิดว่าบางทีโทรศัพท์ของฉันไม่ได้อ้างว่ารองรับ
android.hardware.touchscreen
คุณสมบัติปกติแต่อีกครั้งโดยไม่มีการเปลี่ยนแปลงที่ชัดเจน
เมื่ออัปโหลด APK ไปยัง Play store ตัวกรองเดียวที่รายงานว่าใช้งานได้คือandroid.hardware.faketouch
คุณลักษณะนี้
ต่อไปนี้เป็นผลลัพธ์ของ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'
และเพื่อความสมบูรณ์ไฟล์รายการของฉัน:
<?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 store ฉันเห็นว่าอุปกรณ์ HTC ทั้งหมดรวมถึง Wildfire S ได้รับการสนับสนุนยกเว้น "G1 (ปลาเทราท์)" และ "Touch Viva (โอปอล)" ไม่ว่าจะเป็นอะไรก็ตาม อันที่จริงฉันเห็นว่าทั้ง "Wildfire S (marvel)" และ "Wildfire S A515c (marvelc)" อยู่ในรายการที่รองรับ แต่ "Wildfire S A510b" ของฉันไม่ได้ระบุไว้เป็นพิเศษ ตัวระบุรุ่นย่อยประเภทนี้มีความสำคัญมากขนาดนั้นเลยหรือ ฉันสามารถดาวน์โหลดแอปอื่น ๆ จาก Google Play ลงในโทรศัพท์ได้โดยไม่มีปัญหา
สิ่งเดียวที่ฉันยังไม่ได้ทำในตอนนี้คือรอ 4-6 ชั่วโมงหลังจากอัปโหลดเวอร์ชันล่าสุด (ตามความคิดเห็นนี้ ) เพื่อดูว่ามันยังบอกว่ามันเข้ากันไม่ได้กับโทรศัพท์ของฉัน อย่างไรก็ตามขณะนี้หน้า Play store แสดง 1.0.2 ซึ่งเป็นเวอร์ชันล่าสุดที่ฉันได้อัปโหลด
handleSilentException
วิธีการรายงานแบบเงียบ ๆ อย่างน้อยมันจะบอกคุณว่าฮาร์ดแวร์ตัวไหนที่แอปทำงานอยู่