我最近构建了我的第一个 flutter 应用程序,它运行得很顺利,但是当我添加谷歌移动广告插页式广告或任何类型的广告时,它在构建它时给了我这个消息:
“模块是用不兼容的 Kotlin 版本编译的。其元数据的二进制版本是 1.9.0,预期版本是 1.6.0 #”
该应用程序在此消息之后构建,但在我的 Android 手机上安装该应用程序后,该应用程序崩溃并且无法打开,似乎问题出在谷歌手机广告依赖性中,因为通过删除它并再次构建它,它工作正常。
我尝试更改 android 文件夹中的 build.gradle 文件中的 kotlin 版本,但缺少该行,即使其他应用程序没有它也可以正常工作,
广告投放:
class AdDisplay{
final adUnitIdInterstitial = Platform.isAndroid
? 'ca-app-pub-3940256099942544/1033173712'
: 'ca-app-pub-3940256099942544/4411468910';
loadIntersitial (){
InterstitialAd.load(
adUnitId: adUnitIdInterstitial,
request: const AdRequest(),
adLoadCallback: InterstitialAdLoadCallback(
// Called when an ad is successfully received.
onAdLoaded: (ad) {
debugPrint('$ad loaded.');
// Keep a reference to the ad so you can show it later.
showInterstitial(ad);
},
// Called when an ad request failed.
onAdFailedToLoad: (LoadAdError error) {
debugPrint('InterstitialAd failed to load: $error');
},
));
}
void showInterstitial(InterstitialAd ad) {
ad.show();
}
}
ElevatedButton(
onPressed: () {
AdDisplay().loadIntersitial();
},
child: Padding(
padding: EdgeInsets.symmetric(vertical: 15.0, horizontal: 20.0),
child: Text(
'إعادة الحساب',
style: TextStyle(fontSize: 20, color: Colors.white),
),
),
style: ElevatedButton.styleFrom(
backgroundColor: Colors.pink,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(30.0),
),
),
),
void main() {
WidgetsFlutterBinding.ensureInitialized();
MobileAds.instance.initialize();
runApp(BMICalculatorApp());
}
PS:我在 androidmanifest 文件和 infot 文件中也有广告 mob 代码并导入了包
发布集成移动广告依赖性构建消息:
注意:C:\Users\RGG\AppData\Local\Pub\Cache\hosted\pub.dev\google_mobile_ads-5.1.0 ndroid\src\main\java\io lutter\plugins\googlemobileads\FlutterRequestAgentProvider.java 使用或覆盖已弃用的 API。
注意:使用 -Xlint 重新编译:详细信息已弃用。
C:/Users/RGG/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.8.21/43d50ab85bc7587adfe3dda3dbe579e5f8d51265/kotlin-stdlib-1.8.21.jar!/META- INF/kotlin-stdlib-jdk8.kotlin_module:模块是使用不兼容的 Kotlin 版本编译的。其元数据的二进制版本是1.8.0,预期版本是1.6.0。
编辑您的
android/settings.gradle
文件,然后在 plugins {
... }
部分中,更改 kotlin 条目以匹配最新版本。
我目前有:
plugins {
// other plugins
id "org.jetbrains.kotlin.android" version "2.0.10" apply false
}
您可以在以下位置找到 kotlin 的最新稳定版本:https://kotlinlang.org/docs/home.html
希望这有帮助。