当传一个错误的路由路由失败时配置跳转到一个错误页面。修改common模块build.gradle.kts, defaultConfig里面加上dependencies 添加annotationProcessor(com.alibaba:arouter-compiler:1.5.2)完整的common/build.gradle.kts内容plugins { alias(libs.plugins.android.library) } android { namespace com.example.common compileSdk { version release(36) } defaultConfig { minSdk 24 testInstrumentationRunner androidx.test.runner.AndroidJUnitRunner consumerProguardFiles(consumer-rules.pro) javaCompileOptions { annotationProcessorOptions { arguments.put(AROUTER_MODULE_NAME, project.name) } } } buildTypes { release { isMinifyEnabled false proguardFiles( getDefaultProguardFile(proguard-android-optimize.txt), proguard-rules.pro ) } } compileOptions { sourceCompatibility JavaVersion.VERSION_11 targetCompatibility JavaVersion.VERSION_11 } } dependencies { // 仅引入 API不引入编译器 api(com.alibaba:arouter-api:1.5.2) // 编译期注解处理器 annotationProcessor(com.alibaba:arouter-compiler:1.5.2) // TODO 其他公共依赖库 implementation(libs.androidx.appcompat) implementation(libs.google.material) testImplementation(libs.junit) androidTestImplementation(libs.androidx.junit) androidTestImplementation(libs.androidx.espresso.core) }在公共模块自定义DegradeService实现类package com.example.common; import android.content.Context; import android.util.Log; import android.widget.Toast; import com.alibaba.android.arouter.facade.Postcard; import com.alibaba.android.arouter.facade.annotation.Route; import com.alibaba.android.arouter.facade.service.DegradeService; import com.alibaba.android.arouter.launcher.ARouter; /** * 路由失败的统一降级处理类 * 通过 Route 注解注册 */ Route(path /service/degrade/globalErrorPage) public class MyDegradeService implements DegradeService { private Context mContext; Override public void onLost(Context context, Postcard postcard) { String failedPath postcard.getPath(); // 获取失败的路由地址 Log.d(DegradeService, 路由失败失败的路由地址为 failedPath); // 防止递归如果本次丢失的路径已经是错误页面则不再跳转 if (/error/page.equals(postcard.getPath())) { return; } Toast.makeText(mContext, 页面不存在或暂未开放 failedPath \n 404 \n安能摧眉折腰事权贵,使我不得开心颜。, Toast.LENGTH_SHORT).show(); ARouter.getInstance() .build(/error/page) // 重定向到错误页面。 .withString(failedPath, failedPath) .navigation(); } Override public void init(Context context) { mContext context; } }同样在公共模块添加重定向的那个错误页面package com.example.common; import android.os.Bundle; import android.widget.TextView; import com.alibaba.android.arouter.facade.annotation.Autowired; import com.alibaba.android.arouter.facade.annotation.Route; import com.alibaba.android.arouter.launcher.ARouter; import androidx.appcompat.app.AppCompatActivity; Route(path /error/page) public class ErrorPageActivity extends AppCompatActivity { Autowired(name failedPath) String failedPath; Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ARouter.getInstance().inject(this); TextView textView new TextView(this); textView.setText(ErrorPageActivity\n String.format(%s页面不存在\n404\n日光之下无新鲜事。, failedPath)); textView.setTextSize(16); setContentView(textView); } }在主模块的AndroidManifest文件中不能忘了注册这个activityMainActivity中随意路由一个不存在的地址ok. 测试结果ok.