热爱技术,追求卓越
不断求索,精益求精

Android打包提示缺少google-services.json以及jlink相关错误

从github下载的Android项目,使用了 Firebase 服务,但开源项目中通常不会包含 google-services.json 文件,因为这是敏感信息。

以如下项目为例:

https://github.com/Turbo1123/roubao

比较简单的做法是修改为不使用 Firebase。

app/build.gradle或build.gradle.kts

// 注释掉或删除 Firebase 依赖
dependencies {
    // implementation platform('com.google.firebase:firebase-bom:32.8.1')
    // implementation 'com.google.firebase:firebase-analytics'
    // implementation 'com.google.firebase:firebase-crashlytics'
}

同时去掉plugins中的:

id("com.google.gms.google-services")
id("com.google.firebase.crashlytics")

接下来,修改主项目下的build.gradle或build.gradle.kts,去掉以下内容:

id("com.google.gms.google-services") version "4.4.2" apply false
id("com.google.firebase.crashlytics") version "3.0.2" apply false

App.kt中注释掉firebase相关的

//import com.google.firebase.crashlytics.FirebaseCrashlytics

//        val settingsManager = SettingsManager(this)
//        val cloudCrashReportEnabled = settingsManager.settings.value.cloudCrashReportEnabled
//        FirebaseCrashlytics.getInstance().apply {
//            setCrashlyticsCollectionEnabled(cloudCrashReportEnabled)
//            setCustomKey("app_version", BuildConfig.VERSION_NAME)
//            setCustomKey("device_model", android.os.Build.MODEL)
//            setCustomKey("android_version", android.os.Build.VERSION.SDK_INT.toString())
//            // 发送待上传的崩溃报告
//            sendUnsentReports()
//        }
//        println("[App] 云端崩溃上报: ${if (cloudCrashReportEnabled) "已开启" else "已关闭"}")

报错如下,跟jlink和core-for-system-modules.jar有关,解决办法是重新下载jdk17安装就好了(必须是安装版的,不能是解压版本的)

$ ./gradlew assembleDebug
> Task :app:compileDebugJavaWithJavac FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:compileDebugJavaWithJavac'.
> Could not resolve all files for configuration ':app:androidJdkImage'.
   > Failed to transform core-for-system-modules.jar to match attributes {artifactType=_internal_android_jdk_image, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}.
      > Execution failed for JdkImageTransform: D:\flutter_windows_3.38.3-stable\flutter\AndoidStudioSDK\platforms\android-34\core-for-system-modules.jar.
         > Error while executing process D:\dev\java\JDK17\bin\jlink.exe with arguments {--module-path C:\Users\ASUS\.gradle\caches\transforms-3\35e272ddcc70683964080024df088ab6\transformed\output\temp\jmod --add-modules java.base --output C:\Users\ASUS\.gradle\caches\transforms-3\35e272ddcc70683964080024df088ab6\transformed\output\jdkImage --disable-plugin system-modules}

* 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 2s
18 actionable tasks: 2 executed, 16 up-to-date

ASUS@SeanYoung MINGW64 /f/dev/code/roubao/roubao-main/roubao-main
赞(0)
未经允许不得转载:LoveCTO » Android打包提示缺少google-services.json以及jlink相关错误

热爱技术 追求卓越 精益求精