Phi*_*kiy 29 android unit-testing gradle kotlin junit5
我有一个gradle FAILURE:
..."Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0."
Run Code Online (Sandbox Code Playgroud)
案例描述:
APP/biuld.gradle
//(Required) Writing and executing Unit Tests on the JUnit Platform
testImplementation "org.junit.jupiter:junit-jupiter-api:5.2.0"
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.2.0"
// (Optional) If you need "Parameterized Tests"
testImplementation "org.junit.jupiter:junit-jupiter-params:5.2.0"
// (Optional) If you also have JUnit 4-based tests
testImplementation "junit:junit:4.12"
testRuntimeOnly "org.junit.vintage:junit-vintage-engine:5.2.0"
testImplementation "io.mockk:mockk:1.8.5"
Run Code Online (Sandbox Code Playgroud)
更新了gradle-wrapper.properties
distributionUrl = https .... gradle- 4.4-all .zip to 4.7-all
毕竟那个gradle成功了
创造了测试calss
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
class TestClass {
@Test
internal fun testName() {
Assert.assertEquals(2, 1 + 1)
}
}
Run Code Online (Sandbox Code Playgroud)使用命令行参数运行Gradle构建,./gradlew --warning-mode=all以查看已弃用的功能究竟是什么.

结果我无法构建应用程序,我有失败的消息.
Kev*_*ain 53
我的项目与 Gradle 8.0 不兼容。这对我有用: 首先我在 Android Studio 终端中编写了这行代码:
./gradlew build --warning-mode all
Run Code Online (Sandbox Code Playgroud)
当您执行此操作时,您将在 logcat 中显示发现已弃用的内容或项目中的问题,对我来说,这是jcenter()需要在我的文件中删除的存储库settings.gradle,并且我还需要在我的项目文件中classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.21"更新。classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.30"build.gradle
完成这些操作后,我的项目完美构建并安装在我的模拟器上
Mas*_*lah 51
试试这个
cd android && ./gradlew clean && ./gradlew :app:bundleRelease
Run Code Online (Sandbox Code Playgroud)
小智 43
以下过程适用于我的情况 - 首先检查 Gradle 版本:
cd android
./gradlew -v
Run Code Online (Sandbox Code Playgroud)
就我而言,它是 6.5
转到https://developer.android.com/studio/releases/gradle-plugin,您将获得适合您的 gradle 版本的插件版本。对于 gradle 版本 6.5,插件版本为 4.1.0
然后去app/build.gradle改变classpath 'com.android.tools.build:gradle:<plugin_version>
hot*_*key 34
使用命令行参数运行Gradle构建,--warning-mode=all以查看已弃用的功能究竟是什么.
它将为您提供有关已发现问题的详细说明以及Gradle文档的链接,以获取有关如何修复构建的说明.
chi*_*tte 16
我收到这个错误。事实证明,只有当我完全清理 RN 缓存(相当复杂的过程)然后创建发布版本时才会发生这种情况。
如果我清理了缓存,创建了一个调试版本,然后是一个发布版本,一切正常。有点担心,但有效。
注意:我的干净命令是...
rm -r android/build ; rm -r android/app/src/release/res ; rm -r android/app/build/intermediates ; watchman watch-del-all ; rm -rf $TMPDIR/react-* ; npm start -- --reset-cache
在我的情况下,我更新了build.gradle文件并将classpath最新版本从3.5.2到3.6.3
dependencies {
classpath("com.android.tools.build:gradle:3.6.3")
}
Run Code Online (Sandbox Code Playgroud)
在我的情况下,在 Android/app/build.gradle 文件中添加 multiDexEnabled true 编译文件。
我将来会考虑删除它,因为在文档中它说“在配置您的应用程序以启用 64K 或更多方法引用之前,您应该采取措施减少应用程序代码调用的引用总数,包括方法由您的应用程序代码或包含的库定义。
defaultConfig {
applicationId "com.peoplesenergyapp"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
versionName "1.0"
multiDexEnabled true // <-add this
}
Run Code Online (Sandbox Code Playgroud)
重要 - 仅适用于 REACT-NATIVE VS CODE 终端的回答工作
在 VisualStudio 代码中,您必须像下面这样运行,然后该警告将被忽略。
react-native run-android warning-mode=all
如果你在下面运行,那么你会在终端中得到错误当运行 react-native run-android --warning-mode all 我得到错误:unknown option --warning-mode'
小智 6
以下解决方案对我有所帮助,因为我也收到了相同的警告。在您的项目级别 gradle 文件中,尝试更改类路径中的 gradle 版本
classpath "com.android.tools.build:gradle:3.6.0" to
classpath "com.android.tools.build:gradle:4.0.1"
Run Code Online (Sandbox Code Playgroud)
将gradle/wrapper/gradle-wrapper.properties更改distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip为所需的版本(或更高版本)。
然后再次运行cd android && ./gradlew bundleRelease
更新您的第三方依赖项。例如我将依赖项从 更新
implementation 'com.github.ybq:Android-SpinKit:1.1.0' 为 implementation 'com.github.ybq:Android-SpinKit:1.2.0'。就我而言,问题已经解决。
在本期的 React-Native 项目中,它对我有用:
此版本中使用了已弃用的 Gradle 功能,使其与 Gradle 7.0 不兼容。
244 个可操作任务:2 个已执行,242 个最新 D8:无法在单个 dex 文件中容纳请求的类(# 字段:67296 > 65536) com.android.builder.dexing.DexArchiveMergerException:合并 dex 存档时出错:数量.dex 文件中的方法引用不能超过 64K。了解如何解决此问题,请访问https://developer.android.com/tools/building/multidex.html ....
我这样做了:
从我的设备卸载该应用程序:
| 归档时间: |
|
| 查看次数: |
65822 次 |
| 最近记录: |