didi / DRouter

Android Router Framework
Apache License 2.0
743 stars 93 forks source link

AGP-7.1.1 打包AAR找不到plugin version #43

Closed crosswall closed 2 years ago

crosswall commented 2 years ago

【平台环境】:mac 【Android Studio版本】:Android Studio Bumblebee | 2021.1.1 Patch 3 【编译使用Java版本】:jdk11 【kotlin版本】:org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.0 【gradle-plugin版本】:com.android.tools.build:gradle:7.1.1 【gradle-wrapper版本】:gradle-7.3.2-bin.zip 【drouter版本】:drouter-api:2.3.1 【复现步骤】:使用publish打包aar后上传到maven,主工程依赖aar,正常打包出apk,编译提示 Error: there is no drouter-plugin version,未扫描类文件,没有产生路由表 【期望结果】:正常的log,正常的生成路由表,正常的进行路由跳转 【日志】:> Task :app:transformClassesAndResourcesWithDRouterForDebug plugin proxy version: 1.0.2 Error: there is no drouter-plugin version

4.2.2满足需求,.gradle/droute成功的download到plugin了 7.1.1没有下载插件文件,TransformProxy中的pluginVersion为空,猜测可能是ProxyUtil.getPluginVersion方法无法解析jar文件中的META-INF/drouter

weigao123 commented 2 years ago

复现步骤,是你自己打的aar包吗? 我用了下你说的环境,下载没有问题,自动检查到插件版本,你可以用demo试一下

plugin proxy version: 1.0.2 plugin url: https://repo1.maven.org/maven2/io/github/didi/drouter-plugin/1.3.0/drouter-plugin-1.3.0.jar plugin download success: /Users/gaowei/project/github/DRouter/.gradle/drouter/drouter-plugin-1.3.0.jar DRouterTask start | incremental:false | useCache:false current plugin-version: 1.3.0 | api-version: 2.3.1

weigao123 commented 2 years ago

暂时关闭,有问题可以再回复

crosswall commented 2 years ago

自己打的aar包,然后让application工程去引用远端仓库的aar

plugin proxy version: 1.0.2 Error: there is no drouter-plugin version

crosswall commented 2 years ago

gradle-wrapper.properties 试试看改这个 distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.2-bin.zip AGP插件版本7.1.1 然后apply plugin: 'maven-publish' 打包就是publish命令

crosswall commented 2 years ago

似乎是本地的环境不统一导致的编译问题,单拎出来打包正常