Closed NiplerA0 closed 1 year ago
Добрый день. С какой версии рекламного SDK вы обновлялись? На каких устройствах воспроизводится проблема? Проблема воспроизводится на нескольких устройствах?
Проверьте пожалуйста в артифакте дебажной сборки вашего приложения наличие com.yandex.mobile.ads.common.AdActivity в AndroidManifest. Самый простой способ это сделать, через просмотр содержимого APK файла в Android Studio.
Добрый день. С какой версии рекламного SDK вы обновлялись? На каких устройствах воспроизводится проблема? Проблема воспроизводится на нескольких устройствах?
Проверьте пожалуйста в артифакте дебажной сборки вашего приложения наличие com.yandex.mobile.ads.common.AdActivity в AndroidManifest. Самый простой способ это сделать, через просмотр содержимого APK файла в Android Studio.
Обновлялся с: (Остальные приложения тоже с этих версий мне нужно будет обновить, но пока из-за данной ошибки не могу продолжить) implementation 'com.yandex.android:mobmetricalib:3.8.0' implementation 'com.google.android.gms:play-services-ads:17.2.0' implementation 'com.yandex.android:mobileads:2.130'
Проверял на двух физических Xiaomi A1 с android 9.0
В манифесте после компиляции ничего такого нет, вот все что есть: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="29" android:versionName="29.0" android:compileSdkVersion="33" android:compileSdkVersionCodename="13" package="com...." platformBuildVersionCode="33" platformBuildVersionName="13">
<uses-sdk
android:minSdkVersion="19"
android:targetSdkVersion="31" />
<uses-permission
android:name="android.permission.INTERNET" />
<uses-permission
android:name="android.permission.QUERY_ALL_PACKAGES" />
<uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission
android:name="android.permission.ACCESS_WIFI_STATE" />
<queries>
<intent>
<action
android:name="android.intent.action.VIEW" />
<category
android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="https" />
</intent>
<intent>
<action
android:name="android.support.customtabs.action.CustomTabsService" />
</intent>
</queries>
<uses-permission
android:name="android.permission.WAKE_LOCK" />
<uses-permission
android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission
android:name="android.permission.FOREGROUND_SERVICE" />
<permission
android:name="com....DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION"
android:protectionLevel="0x2" />
<uses-permission
android:name="com.....DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION" />
<application
android:theme="@ref/0x7f13000a"
android:label="@ref/0x7f12001d"
android:icon="@ref/0x7f080086"
android:name="com.....MyApp"
android:debuggable="true"
android:screenOrientation="1"
android:configChanges="0xfb0"
android:allowBackup="true"
android:supportsRtl="true"
android:roundIcon="@ref/0x7f080086">
<uses-library
android:name="org.apache.http.legacy"
android:required="false" />
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-7103607967320389~8398985497" />
<activity
android:theme="@ref/0x7f13000c"
android:label="@ref/0x7f12001d"
android:name="com.....MainActivity"
android:exported="true">
<intent-filter>
<action
android:name="android.intent.action.MAIN" />
<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
Для корректной интеграции рекламного SDK необходимо наличие com.yandex.mobile.ads.common.AdActivity в AndroidManifest собранного приложения. Необходимые для работы SDK компоненты AndroidManifest мы перечисляем в AAR дистрибутиве. В обычной ситуации используя простое подключение через implementation, Android Gradle Plugin сам автоматически подтягивает в приложение необходимые ресурсы рекламного SDK. Если ресурсы рекламного SDK не попадают в приложение, очень вероятно, что проблема возникает в сборочных скриптах приложения.
Проверьте пожалуйста, что вы используете актуальные версии AGP, Gradle и buildToolsVersion для сборки приложения. Попробуйте собрать приложения с версиями аналогичными нашему тестовому приложению: https://github.com/yandexmobile/yandex-ads-sdk-android/blob/master/YandexMobileAdsExample/build.gradle.kts#L17 https://github.com/yandexmobile/yandex-ads-sdk-android/blob/master/YandexMobileAdsExample/gradle/wrapper/gradle-wrapper.properties#L3 https://github.com/yandexmobile/yandex-ads-sdk-android/blob/master/YandexMobileAdsExample/app/build.gradle.kts#L17 Сравните ваше приложение с нашим тестовым приложением, на наличие каких-то пропущенных аттрибутов в вашем приложении.
Также проверьте пожалуйста через команду: ./gradlew moduleName:dependencies
, что во всех модулях проекта используется версиях рекламного SDK 5.5.1.
Стоит проверить что добавление зависимости рекламного происходит только implementation без exclude и без указание "@jar" в объявлении зависимости.
./gradlew moduleName:dependencies
./gradlew app:dependencies --configuration implementation показывает все нормально, как в конфиге
Все Ваши примеры с гитхаба компилируюся и запускаются нормально, только в моем проекте ругается на "mInterstitialAd = new InterstitialAd(this);" "Caused by: com.yandex.mobile.ads.impl.h40: There is no presence of com.yandex.mobile.ads.common.AdActivity activity in AndroidManifest file.". Удалил в ручную все лишние папки и заново запустил, все тоже самое. Удалил yandex ads из проекта, приложение запускается нормально. Попробую теперь поэтапно удалять модули вместе с кодом, может конфликт какой-то, но мне не нравится именно упоминание "There is no presence of com.yandex.mobile.ads.common.AdActivity activity in AndroidManifest file.". Ощущение что дело в каком-то пустяке...
Добрый день, переоткройте пожалуйста, если проблему на удалось решить
Начал обновляться и теперь выдает постоянно ошибку при запуски приложения: FATAL EXCEPTION: main Process: com...., PID: 20102 java.lang.RuntimeException: Unable to start activity ComponentInfo{com..../com.....MainActivity}: com.yandex.mobile.ads.impl.h40: There is no presence of com.yandex.mobile.ads.common.AdActivity activity in AndroidManifest file. at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2925) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3060) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1818) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:6762) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) Caused by: com.yandex.mobile.ads.impl.h40: There is no presence of com.yandex.mobile.ads.common.AdActivity activity in AndroidManifest file. at com.yandex.mobile.ads.impl.u0.a(SourceFile:6) at com.yandex.mobile.ads.impl.yc0.a(SourceFile:7) at com.yandex.mobile.ads.impl.ku.(SourceFile:2)
at com.yandex.mobile.ads.interstitial.InterstitialAd.(SourceFile:1)
at com.....MainActivity.onCreate(MainActivity.java:191)
at android.app.Activity.performCreate(Activity.java:7136)
at android.app.Activity.performCreate(Activity.java:7127)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1272)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2905)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3060)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1818)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6762)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
По адресу MainActivity.java:191 mInterstitialAd = new InterstitialAd(this);
gradle;
apply plugin: 'com.android.application'
android { compileSdkVersion 33 defaultConfig { applicationId "..." minSdkVersion 19 targetSdkVersion 31 versionCode 29 versionName "29.0" multiDexEnabled true testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" }
}
dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) androidTestImplementation('androidx.test.espresso:espresso-core:3.1.0', { exclude group: 'com.android.support', module: 'support-annotations' }) implementation 'androidx.appcompat:appcompat:1.6.0' implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation 'androidx.vectordrawable:vectordrawable-animated:1.1.0' implementation 'com.google.android.material:material:1.8.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' implementation 'com.roomorama:caldroid:3.0.1'
}
вырезка места, в котором возникает ошибка:
package com.yandex.mobile.ads.impl;
import android.annotation.SuppressLint; import android.content.ComponentName; import android.content.Context; import android.content.pm.ActivityInfo; import android.content.pm.PackageManager; import kotlin.jvm.internal.Intrinsics; import org.jetbrains.annotations.NotNull;
public final class u0 { @NotNull private final k0 a;
}