Android开发之升级到Gradle 7.0

293 阅读1分钟

由于现有Android项目使用的Gradle构建工具版本是6.5,新版本的Android Studio无法运行,于是将现有工程项目Gradle版本升级到7.4。升级Gradle版本到7.0之后又产生了一系列的问题,本篇文章就是填坑之旅。

Gradle版本

升级之前:

distributionBase=GRADLE_USER_HOME
distributionUrl=https://services.gradle.org/distributions/gradle-6.5-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME

升级之后:

distributionBase=GRADLE_USER_HOME
distributionUrl=https://services.gradle.org/distributions/gradle-7.4-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME

Android Gradle Plugin(AGP)版本

撒旦发射点犯得上 sadf撒旦飞洒地方

第三方库

ARouter

Gradle版本升级到7.4之后,发现使用 ARouter 跳转到Activity时,目标Activity接收不到传递过来的Intent参数。如下:

跳转:

ARouter.getInstance().build(RoutePath.route_buy_order_first_publish_details_activity)
        .withString("type","1")
        .withString("shopId",bean.get(position).getProductId())
        .navigation();

接收:

@Route(path = RoutePath.route_buy_order_details_activity)
public class BuyOrderDetailsActivity extends AbstractSimpleActivity<LayoutBaseAllContainerBinding> {

    @Autowired
    String shopId;
    
    @Override
    protected AbstractSimpleFragment getRelativeAddFragment() {
//        shopId=getIntent().getStringExtra("shopId");
        return BuyOrderDetailsFragment.getInstance(shopId);
    }
}

但是在Activity

ButterKnife

阿斯蒂芬撒地方 撒旦飞洒地方 撒旦飞洒地方 撒旦飞洒地方 撒旦飞洒地方 撒旦飞洒地方