相关疑难解决方法(0)

如何在 build.gradle.kts 中设置compileJava'任务(11)和'compileKotlin'任务(1.8)jvm目标对相同Java版本的兼容性?

构建.gradle.kts

buildscript {
    repositories {
        google()
        mavenCentral()
        gradlePluginPortal()
    }
    dependencies {
        classpath ("com.android.tools.build:gradle:7.0.2")
        classpath ("org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.30")
        classpath("gradle.plugin.com.github.spotbugs.snom:spotbugs-gradle-plugin:${Versions.spotbugsGradlePluginVersion}")
        classpath("se.bjurr.violations:violations-gradle-plugin:${Versions.violationsVersion}")

    }
}
//android {
//    compileOptions {
//        sourceCompatibility = JavaVersion.VERSION_11
//                targetCompatibility = JavaVersion.VERSION_11
//    }
//
//    kotlinOptions {
//        jvmTarget = JavaVersion.VERSION_11.toString()
//    }
//}
plugins {
    `maven-publish`
    `java-gradle-plugin`
    `kotlin-dsl`
    id ("io.gitlab.arturbosch.detekt") version ("1.18.1")
}
repositories {
    google()
    mavenCentral()
    gradlePluginPortal()
}

dependencies {
    compileOnly(gradleApi())
    testImplementation(gradleTestKit())
    testImplementation("junit:junit:${Versions.jUnitVersion}")
}
val generatedSources = tasks.register<GenerateVersionsFileTask>("generateSources")
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

错误:“compileJava”任务(当前目标是 11)和“compileKotlin”任务(当前目标是 1.8)jvm 目标兼容性应设置为相同的 Java 版本。

当我取消注释时android …

java dependencies kotlin android-gradle-plugin gradle-kotlin-dsl

275
推荐指数
12
解决办法
23万
查看次数

proguard缺少类型参数

我尝试混淆我的Android应用程序的代码ProGuard.但在此之后我的应用程序在运行时给出异常:

11-15 01:46:26.818: W/System.err(21810): java.lang.RuntimeException: Missing type parameter.
11-15 01:46:26.828: W/System.err(21810):    at da.<init>(Unknown Source)
11-15 01:46:26.828: W/System.err(21810):    at gc.<init>(Unknown Source)
11-15 01:46:26.828: W/System.err(21810):    at fx.f(Unknown Source)
11-15 01:46:26.828: W/System.err(21810):    at com.yourshows.activity.UnwatchedActivity.onResume(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

我查了一个mapping文件,发现了这个:

com.google.gson.reflect.TypeToken -> da:
Run Code Online (Sandbox Code Playgroud)

我认为这是我的应用程序中的行:

        Type mapType = new TypeToken<Map<Integer, WatchedEpisodes>>(){}.getType(); // define generic type
        jsData = gson.fromJson(r, mapType);
Run Code Online (Sandbox Code Playgroud)

我无法理解我应该做什么结论?不要使用变量名少于三个字符或什么?

UPD:回答

android proguard

30
推荐指数
2
解决办法
1万
查看次数

为什么我会收到 IllegalArgumentException: class xxxx isn'tparameterized?

我将 Android Studio 更新为 Flamingo、Gradle 和库。之后,如果通过 Android Studio 从模拟器中安装该应用程序,则该应用程序运行良好,但如果使用捆绑包从 Play 商店安装该应用程序,则该应用程序会失败。我认为如果从 .apk 文件安装它就可以工作。

我得到例外:

java.lang.IllegalArgumentException: class o4.b isn't parameterized
Run Code Online (Sandbox Code Playgroud)

android bundle

2
推荐指数
1
解决办法
604
查看次数