View a markdown version of this page

Memecahkan masalah pengujian aplikasi Android di AWS Device Farm - Device Farm AWS

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memecahkan masalah pengujian aplikasi Android di AWS Device Farm

Topik berikut mencantumkan pesan kesalahan yang terjadi selama pengunggahan pengujian aplikasi Android dan merekomendasikan solusi untuk menyelesaikan setiap kesalahan.

ANDROID_APP_UNZIP_GAGAL

Jika Anda melihat pesan berikut, ikuti langkah-langkah ini untuk memperbaiki masalah.

Awas

Kami tidak dapat membuka aplikasi Anda. Harap verifikasi bahwa file tersebut valid dan coba lagi.

Pastikan Anda dapat unzip paket aplikasi tanpa kesalahan. Dalam contoh berikut, nama paket adalah app-debug.apk.

  1. Salin paket pengujian Anda ke direktori kerja Anda, lalu jalankan perintah berikut:

    $ unzip app-debug.apk
  2. Setelah Anda berhasil unzip paket, Anda dapat menemukan struktur pohon direktori kerja dengan menjalankan perintah berikut:

    $ tree .

    Paket aplikasi Android yang valid harus menghasilkan output seperti berikut:

    . |-- AndroidManifest.xml |-- classes.dex |-- resources.arsc |-- assets (directory) |-- res (directory) `-- META-INF (directory)

    Untuk informasi selengkapnya, lihat Pengujian Android di AWS Device Farm.

ANDROID_APP_AAPT_DEBUG_BADGING_GAGAL

Jika Anda melihat pesan berikut, ikuti langkah-langkah ini untuk memperbaiki masalah.

Awas

Kami tidak dapat mengekstrak informasi tentang aplikasi Anda. Harap verifikasi bahwa aplikasi valid dengan menjalankan perintahaapt debug badging <path to your test package>, dan coba lagi setelah perintah tidak mencetak kesalahan apa pun.

Selama proses validasi upload, AWS Device Farm mengurai informasi dari output aapt debug badging <path to your package> perintah.

Pastikan Anda dapat menjalankan perintah ini di aplikasi Android Anda dengan sukses. Dalam contoh berikut, nama paket adalah app-debug.apk.

  • Salin paket aplikasi Anda ke direktori kerja Anda, lalu jalankan perintah:

    $ aapt debug badging app-debug.apk

    Paket aplikasi Android yang valid harus menghasilkan output seperti berikut:

    package: name='com.amazon.aws.adf.android.referenceapp' versionCode='1' versionName='1.0' platformBuildVersionName='5.1.1-1819727' sdkVersion:'9' application-label:'ReferenceApp' application: label='ReferenceApp' icon='res/mipmap-mdpi-v4/ic_launcher.png' application-debuggable launchable-activity: name='com.amazon.aws.adf.android.referenceapp.Activities.MainActivity' label='ReferenceApp' icon='' uses-feature: name='android.hardware.bluetooth' uses-implied-feature: name='android.hardware.bluetooth' reason='requested android.permission.BLUETOOTH permission, and targetSdkVersion > 4' main supports-screens: 'small' 'normal' 'large' 'xlarge' supports-any-density: 'true' locales: '--_--' densities: '160' '213' '240' '320' '480' '640'

    Untuk informasi selengkapnya, lihat Pengujian Android di AWS Device Farm.

ANDROID_APP_NAMA_PAKET_NAMA_NILAI_HILANG

Jika Anda melihat pesan berikut, ikuti langkah-langkah ini untuk memperbaiki masalah.

Awas

Kami tidak dapat menemukan nilai nama paket dalam aplikasi Anda. Harap verifikasi bahwa aplikasi valid dengan menjalankan perintahaapt debug badging <path to your test package>, dan coba lagi setelah menemukan nilai nama paket di belakang kata kunci “package: name.”

Selama proses validasi upload, AWS Device Farm mengurai nilai nama paket dari output aapt debug badging <path to your package> perintah.

Pastikan Anda dapat menjalankan perintah ini di aplikasi Android Anda dan menemukan nilai nama paket dengan sukses. Dalam contoh berikut, nama paket adalah app-debug.apk.

  • Salin paket aplikasi Anda ke direktori kerja Anda, lalu jalankan perintah berikut:

    $ aapt debug badging app-debug.apk | grep "package: name="

    Paket aplikasi Android yang valid harus menghasilkan output seperti berikut:

    package: name='com.amazon.aws.adf.android.referenceapp' versionCode='1' versionName='1.0' platformBuildVersionName='5.1.1-1819727'

    Untuk informasi selengkapnya, lihat Pengujian Android di AWS Device Farm.

ANDROID_APP_SDK_VERSI_NILAI_HILANG

Jika Anda melihat pesan berikut, ikuti langkah-langkah ini untuk memperbaiki masalah.

Awas

Kami tidak dapat menemukan nilai versi SDK di aplikasi Anda. Harap verifikasi bahwa aplikasi valid dengan menjalankan perintahaapt debug badging <path to your test package>, dan coba lagi setelah menemukan nilai versi SDK di belakang kata kuncisdkVersion.

Selama proses validasi upload, AWS Device Farm mengurai nilai versi SDK dari output aapt debug badging <path to your package> perintah.

Pastikan Anda dapat menjalankan perintah ini di aplikasi Android Anda dan menemukan nilai nama paket dengan sukses. Dalam contoh berikut, nama paket adalah app-debug.apk.

  • Salin paket aplikasi Anda ke direktori kerja Anda, lalu jalankan perintah berikut:

    $ aapt debug badging app-debug.apk | grep "sdkVersion"

    Paket aplikasi Android yang valid harus menghasilkan output seperti berikut:

    sdkVersion:'9'

    Untuk informasi selengkapnya, lihat Pengujian Android di AWS Device Farm.

ANDROID_APP_AAPT_DUMP_XMLTREE_GAGAL

Jika Anda melihat pesan berikut, ikuti langkah-langkah ini untuk memperbaiki masalah.

Awas

Kami tidak dapat menemukan yang valid AndroidManifest.xml dalam aplikasi Anda. Harap verifikasi bahwa paket pengujian valid dengan menjalankan perintahaapt dump xmltree <path to your test package> AndroidManifest.xml, dan coba lagi setelah perintah tidak mencetak kesalahan apa pun.

Selama proses validasi unggahan, AWS Device Farm mengurai informasi dari pohon penguraian XML untuk file XML yang terkandung dalam paket menggunakan perintah. aapt dump xmltree <path to your package> AndroidManifest.xml

Pastikan Anda dapat menjalankan perintah ini di aplikasi Android Anda dengan sukses. Dalam contoh berikut, nama paket adalah app-debug.apk.

  • Salin paket aplikasi Anda ke direktori kerja Anda, lalu jalankan perintah berikut:

    $ aapt dump xmltree app-debug.apk. AndroidManifest.xml

    Paket aplikasi Android yang valid harus menghasilkan output seperti berikut:

    N: android=http://schemas.android.com/apk/res/android E: manifest (line=2) A: android:versionCode(0x0101021b)=(type 0x10)0x1 A: android:versionName(0x0101021c)="1.0" (Raw: "1.0") A: package="com.amazon.aws.adf.android.referenceapp" (Raw: "com.amazon.aws.adf.android.referenceapp") A: platformBuildVersionCode=(type 0x10)0x16 (Raw: "22") A: platformBuildVersionName="5.1.1-1819727" (Raw: "5.1.1-1819727") E: uses-sdk (line=7) A: android:minSdkVersion(0x0101020c)=(type 0x10)0x9 A: android:targetSdkVersion(0x01010270)=(type 0x10)0x16 E: uses-permission (line=11) A: android:name(0x01010003)="android.permission.INTERNET" (Raw: "android.permission.INTERNET") E: uses-permission (line=12) A: android:name(0x01010003)="android.permission.CAMERA" (Raw: "android.permission.CAMERA")

    Untuk informasi selengkapnya, lihat Pengujian Android di AWS Device Farm.

ANDROID_APP_PERANGKAT_ADMIN_PERIZINAN_PERANGKAT_PERANGKAT_APLIKASI

Jika Anda melihat pesan berikut, ikuti langkah-langkah ini untuk memperbaiki masalah.

Awas

Kami menemukan bahwa aplikasi Anda memerlukan izin admin perangkat. Harap verifikasi bahwa izin tidak diperlukan dengan menjalankan perintahaapt dump xmltree <path to your test package> AndroidManifest.xml, dan coba lagi setelah memastikan bahwa output tidak berisi kata kunciandroid.permission.BIND_DEVICE_ADMIN.

Selama proses validasi unggahan, AWS Device Farm mengurai informasi izin dari pohon penguraian xml untuk file xml yang terkandung dalam paket menggunakan perintah. aapt dump xmltree <path to your package> AndroidManifest.xml

Pastikan aplikasi Anda tidak memerlukan izin admin perangkat. Dalam contoh berikut, nama paket adalah app-debug.apk.

  • Salin paket aplikasi Anda ke direktori kerja Anda, lalu jalankan perintah berikut:

    $ aapt dump xmltree app-debug.apk AndroidManifest.xml

    Anda harus menemukan output seperti berikut:

    N: android=http://schemas.android.com/apk/res/android E: manifest (line=2) A: android:versionCode(0x0101021b)=(type 0x10)0x1 A: android:versionName(0x0101021c)="1.0" (Raw: "1.0") A: package="com.amazonaws.devicefarm.android.referenceapp" (Raw: "com.amazonaws.devicefarm.android.referenceapp") A: platformBuildVersionCode=(type 0x10)0x16 (Raw: "22") A: platformBuildVersionName="5.1.1-1819727" (Raw: "5.1.1-1819727") E: uses-sdk (line=7) A: android:minSdkVersion(0x0101020c)=(type 0x10)0xa A: android:targetSdkVersion(0x01010270)=(type 0x10)0x16 E: uses-permission (line=11) A: android:name(0x01010003)="android.permission.INTERNET" (Raw: "android.permission.INTERNET") E: uses-permission (line=12) A: android:name(0x01010003)="android.permission.CAMERA" (Raw: "android.permission.CAMERA") ……

    Jika aplikasi Android valid, output tidak boleh berisi yang berikut:A: android:name(0x01010003)="android.permission.BIND_DEVICE_ADMIN" (Raw: "android.permission.BIND_DEVICE_ADMIN").

    Untuk informasi selengkapnya, lihat Pengujian Android di AWS Device Farm.

Jendela tertentu di aplikasi Android saya menunjukkan layar kosong atau hitam

Jika Anda menguji aplikasi Android dan memperhatikan bahwa jendela tertentu dalam aplikasi muncul dengan layar hitam di rekaman video Device Farm dari pengujian Anda, aplikasi Anda mungkin menggunakan FLAG_SECURE fitur Android. Bendera ini (seperti yang dijelaskan dalam dokumentasi resmi Android) digunakan untuk mencegah jendela tertentu dari aplikasi direkam oleh alat perekam layar. Akibatnya, fitur perekaman layar Device Farm (untuk otomatisasi dan pengujian akses jarak jauh) dapat menampilkan layar hitam sebagai pengganti jendela aplikasi Anda jika jendela menggunakan tanda ini.

Bendera ini sering digunakan oleh pengembang untuk halaman dalam aplikasi mereka yang berisi informasi sensitif seperti halaman login. Jika Anda melihat layar hitam di tempat layar aplikasi Anda untuk halaman tertentu seperti halaman loginnya, bekerjalah dengan pengembang Anda untuk mendapatkan build aplikasi yang tidak menggunakan flag ini untuk pengujian.

Selain itu, perhatikan bahwa Device Farm masih dapat berinteraksi dengan jendela aplikasi yang memiliki tanda ini. Jadi, jika halaman login aplikasi Anda muncul sebagai layar hitam, Anda mungkin masih dapat memasukkan kredenSIAL Anda untuk masuk ke aplikasi (dan dengan demikian melihat halaman yang tidak diblokir oleh FLAG_SECURE bendera).