Kami sedang mencoba memperbarui Pustaka Pengarah Instal Google Play dan
Secara internal itu menambahkan beberapa izin baca tulis eksternal .
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
Apakah kita benar-benar harus tetap dengan izin?
ketergantungan implementation 'com.android.installreferrer:installreferrer:1.1
Sumber https://developer.android.com/google/play/installreferrer/library.html
android
google-play
wadali
sumber
sumber
Jawaban:
Saya juga menemukan masalah ini.
Namun dalam kasus saya, versi 1.1 juga menambahkan izin READ_PHONE_STATE
Saya telah mendekompilasi file .aar untuk installreferrer: 1.1 dan memeriksa file manifes dan pom, tidak ada dalam file-file itu untuk menunjukkan bahwa izin ini harus ditambahkan.
File manifes perpustakaan hanya menambahkan izin ini (yang selalu ada di versi sebelumnya):
Saya belum dapat menemukan informasi resmi mengenai hal ini.
Tetapi perpustakaan Google lain di masa lalu memiliki masalah dengan menambahkan izin tambahan, yang tidak dibutuhkan, yang kemudian dihapus dalam versi perbaikan terbaru tak lama setelah itu.
Sebagai contoh, ini:
Mengapa izin READ_PHONE_STATE ditambahkan?
Jadi saya berharap hal yang sama akan terjadi di sini.
sumber
uses-permission#android.permission.READ_PHONE_STATE IMPLIED from android/app/src/main/AndroidManifest.xml:1:1-130:12 reason: com.android.installreferrer has a targetSdkVersion < 4
Informasi tentang izin implisit dapat ditemukan dalam dokumentasi ini: developer.android.com/studio/build/…Perujuk penginstal menambahkan izin ini karena faktanya
targetSdkVersion
adalah nilai yang lebih rendah dari versi di mana pembatasan ditambahkan. Jika Anda melihat laporan manifes-merger- buatan di folder build aplikasi Anda, Anda dapat melihat informasi ini:Informasi tentang cara izin sistem implisit ini bekerja di Android dapat ditemukan dalam dokumentasi ini: https://developer.android.com/studio/build/manifest-merge#inspect_the_merged_manifest_and_find_conflicts
sumber
Dari jawaban ini :
Ini karena mereka telah menambahkan ketergantungan pada
Yang menambahkan izin itu.
Anda dapat menemukannya di file: manifest-merger-menyalahkan-debug-report.txt yang berada di bawah "yourApp / build / intermediates / manifest_merge_blame_file / debug"
Itu mungkin bug. Juga,
installreferrer 1.1.1
tidak menyelesaikannya.Solusi termudah adalah downgrade
installreferrer
kembali ke1.0
untuk saat ini.Tetapi jika Anda membutuhkan versi ini, Anda dapat menambahkan:
Untuk menonaktifkannya. Tetapi ketahuilah bahwa jika Anda akan menggunakan API apa pun yang membutuhkannya di dalam perpustakaan, itu dapat menyebabkan crash , jadi saya tidak akan merekomendasikan melakukannya.
sumber
Mengutip dari jawaban ini (dan menyelesaikan):
Versi 1.1 dan 1.1.1 tidak ada "minSdkVersion". Ini akan secara otomatis menambahkan izin tersebut (karena SDK <4 default seperti yang dikatakan oleh @ thiagolr). Lihat masalah serupa di sini: Layanan Google Play 12.0.1 .
Larutan
Versi 1.1.2 memecahkan masalah ini.
Detail
Manifest.xml untuk v1.0 (dari https://mvnrepository.com/artifact/com.android.installreferrer/installreferrer/1.0 )
Manifest.xml untuk v1.1 (dari https://mvnrepository.com/artifact/com.android.installreferrer/installreferrer/1.1 )
sumber
Seseorang secara teoritis dapat menghapusnya sama sekali dengan manifes-merger:
Tetapi jika perpustakaan akan tetap bekerja seperti yang diharapkan adalah cerita lain -
itu agak pengecualian, bahwa perpustakaan Google memerlukan izin yang tidak perlu.
The rilis catatan dan dokumentasi tidak menyebutkan perizinan.
sumber
Izin ini ditambahkan karena
com.android.installreferrer
memiliki targetSdkVersion <4. Anda dapat melihatnya pada file manifest-merger-release-report.txt yang terletak di Temp \ gradleOut \ build \ outputs \ logs di dalam proyek Anda. Ini adalah bug dan mungkin akan diperbaiki pada versi yang lebih baru.Untuk memperbaiki ini, Anda perlu mencari tahu plugin mana yang ditambahkan
com.android.installreferrer
sebagai dependensi.Dalam proyek saya, pelakunya adalah plugin Facebook . Ia menggunakan
com.facebook.android:facebook-core:5.15.x
paket yang bertanggung jawab untuk menambahkancom.android.installreferrer:installreferrer:1.1
ketergantungan.Solusinya adalah rollback ke
com.facebook.android:facebook-core:5.13.0
, yang tidak memilikicom.android.installreferrer
ketergantungan.Edit file
FacebookSDK/Plugins/Editor/Dependencies.xml
dan ubah paket-paket ini ke:Selanjutnya, jangan lupa untuk menyelesaikan dependensi lagi:
Assets > Play Services Resolver > Android Resolver > Force Resolve
sumber
1.1.2 dirilis, ia menambahkan minSdkVersion dengan benar.
sumber