• 08-10-2022, 16:45:17
    #1
    Merhaba hocalarım aab dosyasını yüklerken şöyle bir hata alıyorum.

    Etkinlik, etkinlik takma adı, hizmet veya intent filtresi olan yayın alıcısına sahip ancak "android:exported" özelliği ayarlanmamış bir APK ya da Android App Bundle yüklediniz. Bu dosya Android 12 veya sonraki sürümlere yüklenemez. Şuraya göz atın: developer.android.com/about/versions/12/behavior-changes-12#exported

    Biraz bakındım ama birşey bulamadim nette yardımcı olursanız sevinirim.
  • 08-10-2022, 16:57:54
    #2
    Android manifestte activylerin arasına
    android:exported="true"
    satırını eklemeniz yeterli olacaktır.
  • 08-10-2022, 17:01:06
    #3
    Android hedef apisi 30 ve üstü olmalı yakında zorunlu hale gelicek Google play 30 altını yukletmicek ya ondandır yada manifest xml dosyasına android:export "türü" eklmelisin
  • 08-10-2022, 17:03:13
    #4
    nkapps adlı üyeden alıntı: mesajı görüntüle
    Android hedef apisi 30 ve üstü olmalı yakında zorunlu hale gelicek Google play 30 altını yukletmicek ya ondandır yada manifest xml dosyasına android:export "türü" eklmelisin
    Hedef apisini nasıl ayarlıyoruz. Bende de sorun vardı true yapınca bu sefer 31 ve üstü diye hata verdi.
  • 08-10-2022, 17:05:00
    #5
    nkapps adlı üyeden alıntı: mesajı görüntüle
    Android hedef apisi 30 ve üstü olmalı yakında zorunlu hale gelicek Google play 30 altını yukletmicek ya ondandır yada manifest xml dosyasına android:export "türü" eklmelisin
    Android hedef apisi 32 ve bütün activitylere Android export True ekledim
  • 08-10-2022, 17:44:45
    #6
    Stranoss adlı üyeden alıntı: mesajı görüntüle
    Android hedef apisi 32 ve bütün activitylere Android export True ekledim
    Sorun Giderildi mi hocam ?
  • 08-10-2022, 18:13:13
    #7
    iso39 adlı üyeden alıntı: mesajı görüntüle
    Sorun Giderildi mi hocam ?
    Değişiklik yok hocam
  • 08-10-2022, 23:47:37
    #8
    Android Api Düzeyi 30 ve üzeri destekliyorsanız 31,32 veya 33 ki şuanda Android 13 sürümü 32 ve üstü istiyor bu sebebten dolayı android:exported="true" veya android:exported="false" etiketini nereye eklemeniz gerektigini siz belirtmiyorsunuz siz sadece true veya false olarak aktif veya kapalı seçenegini sunuyorsunuz hedef api düzeyinizi

    build.gradle dosyanızda

    android {
    compileSdkVersion 33
    defaultConfig {
    ...
    minSdkVersion 19
    targetSdkVersion 33

    satırlarını degiştirin 32 ve 33 api destegi
    minimun sdk 19 olmasına dikkat edin android sürümü 4.4 sürümü olacak en az build.gradle sekronize etmeden önce androidmanifest dosyanızı açın

    resimde gördünüz alandaki Merged Manifest tıklayın sağ tarafta bir açılır menü gelecek kullandıgınız sdk ya göre uygulamınız neyi çalıştırıyorsa onun exported edilmesini sağlayacaksiniz

    örnek vermek gerekirse ben implementation 'com.onesignal:OneSignal:3.16.1' kullandığım için bunun cihaz açılırken aktif edilmesini uygulama kullanan kişiye bildirmem gerekiyor bildirmesem şayet

    aşağıdaki hatayı alırım



    Merged Manifest bu ve bunun gibi hataları verir bunu hemen androidmanifest dosyama giriyorum ve
    </application>
    
    </manifest>
    hemen üstüne

    <activity
    android:name="com.onesignal.NotificationOpenedActivityHMS"
    android:exported="false">
    
    </activity>
    <receiver android:name="com.onesignal.BootUpReceiver" android:exported="false">
    <intent-filter>
    <action android:name="android.intent.action.BOOT_COMPLETED" />
    <action android:name="android.intent.action.QUICKBOOT_POWERON" />
    </intent-filter>
    </receiver>
    <receiver android:name="com.onesignal.UpgradeReceiver" android:exported="false" >
    <intent-filter>
    <action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
    </intent-filter>
    </receiver>
    <receiver android:name="com.onesignal.GcmBroadcastReceiver" android:exported="false">
    <intent-filter>
    <action android:name="android.intent.action.BOOT_COMPLETED" />
    <action android:name="android.intent.action.QUICKBOOT_POWERON" />
    </intent-filter>
    </receiver>
    ekliyorum ve dosyamı sekronize ediyorum sorun gidiyor..

    HIZLI BAŞLATMA (QUICKBOOT POWERON)
    PAKET DEĞİŞTİRİLDİ (MY PACKAGE REPLACED )
    ÖNLEME TAMAMLANDI (BOOT_COMPLETED)

    ben android:exported="false" kullandım yani olursada olur olmazsada okadar önemli degil dedim uygulamayı kullanana bıraktım aktif ve deaktif etmesini

    Mutlu Kodlamalar
  • 10-10-2022, 23:50:31
    #9
    OmerAti adlı üyeden alıntı: mesajı görüntüle
    Android Api Düzeyi 30 ve üzeri destekliyorsanız 31,32 veya 33 ki şuanda Android 13 sürümü 32 ve üstü istiyor bu sebebten dolayı android:exported="true" veya android:exported="false" etiketini nereye eklemeniz gerektigini siz belirtmiyorsunuz siz sadece true veya false olarak aktif veya kapalı seçenegini sunuyorsunuz hedef api düzeyinizi

    build.gradle dosyanızda

    android {
    compileSdkVersion 33
    defaultConfig {
    ...
    minSdkVersion 19
    targetSdkVersion 33

    satırlarını degiştirin 32 ve 33 api destegi
    minimun sdk 19 olmasına dikkat edin android sürümü 4.4 sürümü olacak en az build.gradle sekronize etmeden önce androidmanifest dosyanızı açın

    resimde gördünüz alandaki Merged Manifest tıklayın sağ tarafta bir açılır menü gelecek kullandıgınız sdk ya göre uygulamınız neyi çalıştırıyorsa onun exported edilmesini sağlayacaksiniz

    örnek vermek gerekirse ben implementation 'com.onesignal:OneSignal:3.16.1' kullandığım için bunun cihaz açılırken aktif edilmesini uygulama kullanan kişiye bildirmem gerekiyor bildirmesem şayet

    aşağıdaki hatayı alırım



    Merged Manifest bu ve bunun gibi hataları verir bunu hemen androidmanifest dosyama giriyorum ve
    </application>
    
    </manifest>
    hemen üstüne

    <activity
    android:name="com.onesignal.NotificationOpenedActivityHMS"
    android:exported="false">
    
    </activity>
    <receiver android:name="com.onesignal.BootUpReceiver" android:exported="false">
    <intent-filter>
    <action android:name="android.intent.action.BOOT_COMPLETED" />
    <action android:name="android.intent.action.QUICKBOOT_POWERON" />
    </intent-filter>
    </receiver>
    <receiver android:name="com.onesignal.UpgradeReceiver" android:exported="false" >
    <intent-filter>
    <action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
    </intent-filter>
    </receiver>
    <receiver android:name="com.onesignal.GcmBroadcastReceiver" android:exported="false">
    <intent-filter>
    <action android:name="android.intent.action.BOOT_COMPLETED" />
    <action android:name="android.intent.action.QUICKBOOT_POWERON" />
    </intent-filter>
    </receiver>
    ekliyorum ve dosyamı sekronize ediyorum sorun gidiyor..

    HIZLI BAŞLATMA (QUICKBOOT POWERON)
    PAKET DEĞİŞTİRİLDİ (MY PACKAGE REPLACED )
    ÖNLEME TAMAMLANDI (BOOT_COMPLETED)

    ben android:exported="false" kullandım yani olursada olur olmazsada okadar önemli degil dedim uygulamayı kullanana bıraktım aktif ve deaktif etmesini

    Mutlu Kodlamalar

    @OmerAti; hocama teşekkürler sorun çözülmüştür.