赞
踩
接入归因之前,flutter项目一起正常。接入归因之后,iOS正常Android有问题。
- dependencies:
- # Singular归因
- singular_flutter_sdk: ^1.3.3
针对 Flutter 的 Singular SDK 集成指南
- plugins {
- id "com.android.application"
- id "kotlin-android"
- id "dev.flutter.flutter-gradle-plugin"
- // 应用Google服务Gradle插件
- id 'com.google.gms.google-services'
- }
-
- def localProperties = new Properties()
- def localPropertiesFile = rootProject.file('local.properties')
- if (localPropertiesFile.exists()) {
- localPropertiesFile.withReader('UTF-8') { reader ->
- localProperties.load(reader)
- }
- }
-
- def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
- if (flutterVersionCode == null) {
- flutterVersionCode = '1'
- }
-
- def flutterVersionName = localProperties.getProperty('flutter.versionName')
- if (flutterVersionName == null) {
- flutterVersionName = '1.0'
- }
-
- android {
- namespace "com.teleprom.www"
- // compileSdkVersion是用来编译你的应用的API级别。它指定了编译时使用的Android API版本。你的代码将会使用这个版本的Android API进行编译。它应该是你打算使用的最新稳定版API版本。
- compileSdk flutter.compileSdkVersion
- // ndkVersion是指定项目要使用的Android NDK(Native Development Kit)的版本。NDK允许你使用C和C++代码来编译本地代码,通常用于性能敏感的部分。当你使用需要NDK的插件或直接编写本地代码时,这个版本就变得重要。
- //ndkVersion flutter.ndkVersion
- ndkVersion "25.1.8937393"
-
- compileOptions {
- sourceCompatibility JavaVersion.VERSION_1_8
- targetCompatibility JavaVersion.VERSION_1_8
- }
-
- kotlinOptions {
- jvmTarget = '1.8'
- }
-
- sourceSets {
- main.java.srcDirs += 'src/main/kotlin'
- }
-
- defaultConfig {
- applicationId "com.teleprom.www"
- // minSdkVersion指定了能够运行你的应用的最低Android API级别。如果一个设备的API级别低于这个值,该设备将无法在Google Play商店安装或运行你的应用。这个值应该尽可能低,以覆盖更广泛的用户,但同时要高到足以支持应用所需功能的API级别。
- //minSdkVersion flutter.minSdkVersion
- minSdkVersion 22
- targetSdkVersion flutter.targetSdkVersion
- versionCode flutterVersionCode.toInteger()
- versionName flutterVersionName
- }
-
- buildTypes {
- release {
- // TODO: Add your own signing config for the release build.
- // Signing with the debug keys for now, so `flutter run --release` works.
- signingConfig signingConfigs.debug
- }
- }
- }
-
- flutter {
- source '../..'
- }
-
- dependencies {
- // 添加Firebase Analytics依赖
- implementation platform('com.google.firebase:firebase-bom:32.7.4') // 使用适合你项目的最新BOM版本
- implementation 'com.google.firebase:firebase-analytics'
- // 依赖关系列表中添加 Singular 库
- implementation fileTree(dir: 'libs', include: ['*.jar'])
- implementation 'com.android.support:appcompat-v7:28.0.0'
- // 注意: 如果在构建时出现DuplicateClasses(重复类 )错误,则可能已经安装了 Google play-services,可以注释掉该依赖关系。
- implementation 'com.android.installreferrer:installreferrer:2.2'
- implementation 'com.google.android.gms:play-services-appset:16.0.2'
- }
- buildscript {
- ext.kotlin_version = ''1.9.23'
- repositories {
- google()
- mavenCentral()
- }
- dependencies {
- classpath 'com.android.tools.build:gradle:8.1.3'
- classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
- }
- }
- allprojects {
- repositories {
- google()
- mavenCentral()
- }
- }
- rootProject.buildDir = '../build'
- subprojects {
- project.buildDir = "${rootProject.buildDir}/${project.name}"
- }
- subprojects {
- project.evaluationDependsOn(':app')
- }
- tasks.register("clean", Delete) {
- delete rootProject.buildDir
- }
- pluginManagement {
- def flutterSdkPath = {
- def properties = new Properties()
- file("local.properties").withInputStream { properties.load(it) }
- def flutterSdkPath = properties.getProperty("flutter.sdk")
- assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
- return flutterSdkPath
- }
- settings.ext.flutterSdkPath = flutterSdkPath()
-
- includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle")
-
- repositories {
- google()
- mavenCentral()
- gradlePluginPortal()
- }
- }
-
- plugins {
- id "dev.flutter.flutter-plugin-loader" version "1.0.0"
- id "com.android.application" version "8.1.3" apply false
- id "org.jetbrains.kotlin.android" version "1.9.23" apply false
- // 添加Google服务插件. apply false 表示该插件不会立即应用到项目中,而是可以在子项目(模块)中单独应用。
- id 'com.google.gms.google-services' version '4.3.15' apply false
- }
-
- include ":app"
- distributionBase=GRADLE_USER_HOME
- distributionPath=wrapper/dists
- zipStoreBase=GRADLE_USER_HOME
- zipStorePath=wrapper/dists
- distributionUrl = https\://services.gradle.org/distributions/gradle-8.4-bin.zip
- Launching lib/main.dart on vivo X20 in debug mode...
-
- FAILURE: Build completed with 2 failures.
-
- 1: Task failed with an exception.
- -----------
- * What went wrong:
- A problem occurred configuring project ':singular_flutter_sdk'.
- > Could not create an instance of type com.android.build.api.variant.impl.LibraryVariantBuilderImpl.
- > Namespace not specified. Specify a namespace in the module's build file. See https://d.android.com/r/tools/upgrade-assistant/set-namespace for information about setting the namespace.
- If you've specified the package attribute in the source AndroidManifest.xml, you can use the AGP Upgrade Assistant to migrate to the namespace value in the build file. Refer to https://d.android.com/r/tools/upgrade-assistant/agp-upgrade-assistant for general information about using the AGP Upgrade Assistant.
-
- * Try:
- > Run with --stacktrace option to get the stack trace.
- > Run with --info or --debug option to get more log output.
- > Run with --scan to get full insights.
- > Get more help at https://help.gradle.org.
- ==============================================================================
-
- 2: Task failed with an exception.
- -----------
- * What went wrong:
- Failed to query the value of property 'buildFlowServiceProperty'.
- > Could not isolate value org.jetbrains.kotlin.gradle.plugin.statistics.BuildFlowService$Parameters_Decorated@7d79dba7 of type BuildFlowService.Parameters
- > A problem occurred configuring project ':singular_flutter_sdk'.
- > Could not create an instance of type com.android.build.api.variant.impl.LibraryVariantBuilderImpl.
- > Namespace not specified. Specify a namespace in the module's build file. See https://d.android.com/r/tools/upgrade-assistant/set-namespace for information about setting the namespace.
- If you've specified the package attribute in the source AndroidManifest.xml, you can use the AGP Upgrade Assistant to migrate to the namespace value in the build file. Refer to https://d.android.com/r/tools/upgrade-assistant/agp-upgrade-assistant for general information about using the AGP Upgrade Assistant.
-
- * Try:
- > Run with --stacktrace option to get the stack trace.
- > Run with --info or --debug option to get more log output.
- > Run with --scan to get full insights.
- > Get more help at https://help.gradle.org.
- ==============================================================================
-
- BUILD FAILED in 4s
- Error: Gradle task assembleDebug failed with exit code 1
-
-
- Exited (1).
-
按照搜索到的办法,并非所有包都支持版本 8.xx,将 Android Gridle 插件版本 8.1.3 降级到 7.4.2 来解决这个问题。
flutter firebase app not running on Android: Namespace not specified - Stack Overflow
- buildscript {
- ext.kotlin_version = ''1.8.0'
- repositories {
- google()
- mavenCentral()
- }
- dependencies {
- classpath 'com.android.tools.build:gradle:7.4.2'
- classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
- }
- }
- ...
- ...
- plugins {
- id "com.android.application" version "7.4.2" apply false
- id "org.jetbrains.kotlin.android" version "1.8.0" apply false
- ...
- }
- ...
- distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-all.zip
修复完第一个问题后,运行包这个错误。
- Launching lib/main.dart on vivo X20 in debug mode...
- 注: /Users/gamin/.pub-cache/hosted/pub.flutter-io.cn/singular_flutter_sdk-1.3.3/android/src/main/java/com/singular/flutter_sdk/SingularSDK.java使用了未经检查或不安全的操作。
- 注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
- ERROR:D8: com.android.tools.r8.kotlin.H
-
- FAILURE: Build failed with an exception.
-
- * What went wrong:
- Execution failed for task ':app:mergeExtDexDebug'.
- > Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
- > Failed to transform play-services-measurement-api-21.5.1.aar (com.google.android.gms:play-services-measurement-api:21.5.1) to match attributes {artifactType=android-dex, asm-transformed-variant=NONE, dexing-enable-desugaring=true, dexing-enable-jacoco-instrumentation=false, dexing-is-debuggable=true, dexing-min-sdk=22, org.gradle.status=release, org.gradle.usage=java-runtime}.
- > Execution failed for DexingWithClasspathTransform: /Users/gamin/.gradle/caches/transforms-3/4e42575ef433f9d8bb5373944a07a9ed/transformed/jetified-play-services-measurement-api-21.5.1-runtime.jar.
- > Error while dexing.
-
- * Try:
- > Run with --stacktrace option to get the stack trace.
- > Run with --info or --debug option to get more log output.
- > Run with --scan to get full insights.
-
- * Get more help at https://help.gradle.org
-
- BUILD FAILED in 3m 55s
-
-
- ┌─ Flutter Fix ──────────────────────────────────────────────────────────────┐
- │ [!] The shrinker may have failed to optimize the Java bytecode. │
- │ To disable the shrinker, pass the `--no-shrink` flag to this command. │
- │ To learn more, see: https://developer.android.com/studio/build/shrink-code │
- └────────────────────────────────────────────────────────────────────────────┘
- Error: Gradle task assembleDebug failed with exit code 1
-
-
- Exited (1).
-
有个类似问题:https://github.com/flutter/flutter/issues/146038
将最低支持版本从22升级到24
android/app/build.gradle:
- android {
- defaultConfig {
- minSdkVersion 24
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。