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.
-
Salin paket pengujian Anda ke direktori kerja Anda, lalu jalankan perintah berikut:
$ unzip app-debug.apk -
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 , dan coba lagi setelah perintah tidak mencetak kesalahan apa pun. <path to your test
package>
Selama proses validasi upload, AWS Device Farm mengurai informasi dari output aapt debug
badging perintah. <path to your package>
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.apkPaket 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 , dan coba lagi setelah menemukan nilai nama paket di belakang kata kunci “package: name.”<path to your test
package>
Selama proses validasi upload, AWS Device Farm mengurai nilai nama paket dari output aapt debug badging perintah.<path to your package>
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 , dan coba lagi setelah menemukan nilai versi SDK di belakang kata kunci<path to your test
package>sdkVersion.
Selama proses validasi upload, AWS Device Farm mengurai nilai versi SDK dari output aapt debug badging perintah.<path to your package>
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 , dan coba lagi setelah perintah tidak mencetak kesalahan apa pun.<path to your test
package> AndroidManifest.xml
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.xmlPaket 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 , dan coba lagi setelah memastikan bahwa output tidak berisi kata kunci<path to your test package>
AndroidManifest.xmlandroid.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.xmlAnda 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
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).