首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

新gradle格式混淆和迁移原因找不到方法testCompile()

Gradle是一种流行的构建工具,用于构建和管理项目的依赖关系。在Gradle中,混淆是一种技术,用于减小应用程序的大小并保护代码的安全性。混淆会对代码进行重命名和优化,使其难以理解和逆向工程。

在旧版本的Gradle中,使用了testCompile()方法来指定测试依赖。然而,从Gradle 4.6版本开始,testCompile()方法已被弃用,并被implementation和testImplementation方法所取代。这是因为Gradle团队对依赖配置进行了优化,以提高构建性能和可维护性。

迁移的原因是为了与新版本的Gradle保持兼容,并且能够利用新的依赖配置方式。使用新的implementation和testImplementation方法可以更清晰地定义项目的依赖关系,并且能够更好地控制依赖的可见性。

对于新gradle格式混淆和迁移原因找不到方法testCompile(),可以采取以下步骤解决:

  1. 确认Gradle版本:首先,确保你正在使用的Gradle版本高于4.6。可以在项目的build.gradle文件中查看Gradle版本号。
  2. 替换testCompile()方法:将所有的testCompile()方法替换为testImplementation()方法。这样可以确保测试依赖正确地被引入。
  3. 同步项目:在Gradle配置文件中进行更改后,需要同步项目以使更改生效。可以通过点击Android Studio工具栏中的"Sync Project with Gradle Files"按钮来完成同步。
  4. 编译和测试:完成同步后,重新编译和运行项目,确保没有出现任何编译错误或测试失败。

总结起来,新gradle格式混淆和迁移原因找不到方法testCompile()是因为Gradle团队对依赖配置进行了优化,弃用了testCompile()方法,并推荐使用implementation和testImplementation方法来定义项目的依赖关系。这样可以提高构建性能和可维护性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

杂篇:一代版本一代神

项目 创建一个gradle项目 3.修改Gradle配置的方法 注:目前2019-2-7日:gradle-5.2在Idea里Build失败,gradle-4.10.1没问题 估计是Idea插件的版本未更新...} def newVersion = updateFun(update, 1) println newVersion//2 三.创建项目 1.新建项目 Idea会为我们自动生成项目结构 创建的...构建脚本 在gradle根目录\src\core-api\org\gradle\api\Project.java是一个interface 它定义了一个项目类,而build.gradle中即使用了项目对象的属性方法...这两个类是Gradle的核心,其中定义了很多方法,可以在.gradle文件中随意调用 实体类.png |---比如打印一下当前项目目录 ---->[org.gradle.api.Project#...', version: '4.12' } ---->[toly-all\player\build.gradle]------------ dependencies { testCompile

1.2K20
  • 从0系统学Android--1.3创建你的第一个 Android 项目

    1.3.4 分析你的第一个 Android 程序 gradle .idea 这两个目录下放置的都是 Android Studio 自动生成的一些文件,我们无需关心。...; } } HelloWorldActiviyt 是继承 APPCompatActivity 的,这是一种向下兼容的 Activity,这样可以使用 Activity 在不同系统版本中增加的特性功能可以在比较旧的系统上仍然使用...applicationId 用于指定项目的包名 minSdkVersion 指定项目最低兼容的 Android 版本 targetSdkVersion 表示你在该目标版本上已经做过充分的测试,系统会启用这个版本的的特性功能...添加上这句后,Gradle 在构建项目的时候会首先检查一下本地是否有这个库的缓存,没有就去对应的仓库下载。 库依赖的基本格式是:compile project 加上要依赖的库名称。...例如有个库模块叫:helper,则: compile project(':helper') testCompile 这个是用于声明测试用例库的。

    55820

    Android Studio安装、配置史上最全图解

    4.设置显示行号方法间的分隔符 ? 5.设置添加自定义字体颜色 ? 6.修改字体大小样式 ? 7.设置鼠标悬浮提示 ? 8.忽略大小写提示 ? 9.设置自动导包 ? 10.设置自动编译 ?...注意:首次打开Android Studio时,会联网下载更新gradle,在没网的情况下,每次创建module都可能会报异常。这里根据报的Junit找不到的异常,可以把相应的文件删掉。...6.删除Module的步骤 1.在准备删除的module上点击鼠标右键,默认是找不到delete按钮的 ?...5.常用快捷键 向下复制一行 Ctrl+Down 修改变量名与方法名 Alt+Shift+R 向下移动行 Alt+down 打开Module setting窗口 Ctrl+shift+E 向上开始的一行...shift+X 查找/替换(当前) Ctrl+F 查找/替换(全局) Ctrl+H 最近打开过的文件 Ctrl+E 删除一行或选中行 Ctrl+D 查找文件 Double Shift 查找没有使用的变量方法

    1.9K50

    Android Studio Gradle中buildTypes + flavor(flavor group, flavor dimensions)组合依赖编译,添加buildTypes

    最近在做UAF打包的事情,其中一个需求是根据debug/releaseflavor来决定不同的依赖。...现分享方法。...原因是,flavor+buildType的组合依赖在最开始检测的时候是不存在的,我们需要先用configurations定义出来,此时该组合是一个空的配置。...我想了半天,终于想到我用的是flavorDimensions(旧版gradle称为flavorGroups)特性,所以结果应该是定义withoutLogsMixedReleaseCompilewithLogsMixedReleaseCompile...自定义buildTypes 后来我想,其实对于withLogswithoutLogs这个flavorDimensions,我要的是一个正式发布前带日志但混淆过的版本,其实我可以定义一个preview版本

    2.1K20

    Android Studio 3.1升级3.2 实践

    testCompile 改为 testImplementation b.修改project文件夹下的build.gradle文件,修改classpath classpath ‘com.android.tools.build...:gradle:3.2.1’ 然后打开gradle文件夹,找到gradle-wrapper.properties文件,升级gradle版本到4.6 distributionUrl=https\://services.gradle.org.../distributions/gradle-4.4-all.zip 改为 distributionUrl=https\://services.gradle.org/distributions/gradle...Tools 编译之后,会提示升级 SDK build Tools 直接在控制台点击链接下载就行,完成之后buildToolsVersion 会变成28.0.3的版本 compileSdkVersion ...然后重新编译之后可能会出现找不到moudle中的类 解决办法: moudle 里面的compile 要用api 代替 implementation 不然会找不到对外暴露的方法,把引用改为api 的方式重新编译即可

    36930

    详解Android使用Gradle统一配置依赖管理

    'junit:junit:4.12' } 这里我们来看一下 app 目录下的 build.gradle 有什么区别: app 目录下的 build.gradle 是:apply plugin:...增多时则容易出错 解决办法: 方法一 在项目的根目录的 build.gradle 里进行统一配置如下: /*在根目录中配置公用供子模块调用*/ ext { //Android compileSdkVersion...对项目中 app 下的 build.gradle Module 中的 build.gradle 依赖进行统一配置的解决,以此类推,更多的 Module 也是如此配置,以后需要版本的更改我们只需要去根目录...build.gradle 修改即可 方法二 因为每个人都有自己的配置习惯,这里我们再提供一种配置以供大家参考,这里我们在主项目的根目录下创建 config.gradle 来配置需要的相关配置信息如下...中,以后每个 Module 中的引入都是这样,实现了方法一 同样的功能,个人感觉第二种更好一点,大家自己选择吧,毕竟各有所好,好了,到这里就给大家分享完了在项目中使用 Gradle 统一配置依赖,希望对大家有用

    2.2K40

    Android Studio多工程引用同一个library项目配置的解决方法

    在使用Android Studio开发的时候,如遇到多个项目引用同一个library的情况时,会遇到在每个项目中都要有一套library的代码的情况,对于还在开发维护中的Library需要频繁的修改,...该方式compile files方式选一种即可。...25.2.0' compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha7' /** 单元测试编译 */ testCompile...在该工程中需要做以下三件事: 1、在project的settings.gradle里面增加红框圈住部分的代码。 ? 2、在module的build.gradle文件中增加红框圈住部分的代码: ?...总结 以上所述是小编给大家介绍的Android Studio多工程引用同一个library项目配置方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。

    1.6K20

    Spring源码阅读指南_redis编译安装

    安装插件Gradle(该版本idea安装插件都需要重启) File->Settings->Gradle 配置相关信息 Gradle user home 刚刚环境变量配置路径一致bin上级目录...reimport按钮可以再次尝试 完成 接下来可以在其中创建工程测试项目(注意此时源码可以注释修改 ,编译运行还可能有错因此还有记录) 4创建项目测试 项目中右键新建项目 画圈处是笔者后续编译出错的一个原因...应该是要JDK 11 否则spring-core包中有个java依赖找不到 这个时候需要修改build.gradle文件(类似于maven关联其他模块否则不能使用项目下其他包类) 内容如下...repositories { mavenCentral() } dependencies { compile(project(":spring-context")) testCompile...不太清楚运行流程原理 右侧Gradle中找到spring-core模块的tasks/other下 找到:cglibRepackJar objenesisRepackJar把双击加载即可

    91620

    你该知道的Gradle配置知识总结

    自定义编译配置 Android Studio 的 gradle 插件方便我们在以下几个方面配置我们的编译选项: Build Types – 编译类型 编译类型,包括我们最熟悉的 release debug...配置对应的 build.gradle 文件在 moudle 下,需要添加的或者修改 Build Type ,只需要在 android{ … }里面操作。...buildTypes { release { //开启混淆 minifyEnabled true //混淆规则文件 proguardFiles getDefaultProguardFile...Manifest 里面加上这么一句: <uses-sdk tools:overrideLibrary="com.example.uisdk"/ 就能编译通过了,这适用于比较特殊的情况,就是在依赖库里可能要适用一些特性...provided: compile 相似,但只在编译时使用,几只参与编译,不打包到最终 apk 。 apk:只会打包到 apk 中,不参与编译,所以不能在项目代码中使用相应库中的方法

    86610

    Android架构之路--热更新Tinker(上)

    但它们都存在无法解决的问题,这也是正是最后使用 Tinker 的原因。先看一张图对比: 1-1:热更新对比图 Tinker热补丁方案不仅支持类、So 以及资源的替换,它还是2.X-7.X的全平台支持。...详细步骤请移步Tinker平台使用文档 ---- 主要来说下配置Gradle代码 1....配置Tinker版本信息 我们使用配置文件去配置Tinker版本信息,易于统一版本后面更换版本,如图: 2-1 gradle.properties文件 代码如下: TINKER_VERSION=1.9.6...配置模块下的build.gradle 配置签名 如果有不会的同学可以看这篇 Android Studio的两种模式及签名配置 2-4:配置签名 在配置混淆代码的时候,想要提醒下大家,当设置 minifyEnabled...为false时代表不混淆代码,shrinkResources也应设置为false ,它们通常是彼此关联。

    1.6K21

    Android制作AAR包并混淆后加载调用

    实现效果 上图中可以看到,制作了一个TAAR的包,打开后里面可以看到MathFun的类类下公开的Add方法。 在的工程中直接引入AAR包,调用里面的实现方法后,在虚拟机中直接显示了出来。...重点:多这一步的原因是为了后面的代码混淆,主要这里测试好多次,如果都放在相同的包名下,保持MathFun的类不混淆,在外部看到的AAR包时里面是没有方法的,如果都不混淆那MathMinify也会在AAR...实现效果 ‍ 代码混淆基本规则‍ ‍ 01‍ 混淆配置 通过配置proguard-rules.pro文件,对生成的apkjar进行加密,在‍build.gradle 来开启混淆功能。‍‍...混淆过后通过原来的名字去找混淆后的名字,是找不到对应方法类,就会出异常报错。所以有些情况是不能进行混淆的。...;用以上方法保持类后,你会发现类名虽然未混淆,但里面的具体方法变量命名还是变了,这时如果既想保持类名,又想保持里面的内容不被混淆,我们就需要以下方法了 -keep class cn.hadcn.test

    5K30
    领券