为什么我得到的属性值必须是常量错误?

时间:2019-04-16 11:17:44

标签: java

尽管变量是最终变量,但出现“属性值必须为常数”错误。

protected final String APP_PACKAGE = abstractPlatform.getPropertiesReader().getPackageName();

    @AndroidFindBy(id = APP_PACKAGE +":id/btnSignUp")
private MobileElement signUpTab;

如果我使用常规字符串初始化APP_PACKAGE,则不会出现此错误。例如:APP_PACKAGE =“ com.company.aa”; 如您所见,APP_PACKAGE是最终版本,所以为什么我收到此错误? 我想念什么吗?

谢谢

1 个答案:

答案 0 :(得分:0)

批注的属性必须是编译时常量和

abstractPlatform.getPropertiesReader().getPackageName();

仅在运行时可解析。这意味着APP_PACKAGE不是编译时常量。