我将我的应用迁移到了androidx,现在在发行版本中,我遇到了该错误。在我所有的测试中都可以正常工作,即使测试实验室也找不到该错误。
我已经检查了所有参考文献,它们都很好。
出现错误的行:
private MaterialButton mShiftStartDate;
private void getVars() {
.
mShiftStartDate = v.findViewById(R.id.shift_start_date_tv);
.
}
和xml:
<com.google.android.material.button.MaterialButton
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
android:id="@id/shift_start_date_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:textSize="18sp"
android:visibility="visible"
app:layout_constraintEnd_toEndOf="@id/shift_start_date_label"
app:layout_constraintHorizontal_chainStyle="spread_inside"
app:layout_constraintStart_toStartOf="@id/shift_start_date_label"
app:layout_constraintTop_toBottomOf="@id/shift_start_date_label"
tools:text="10/10/18" />
和部分build.gradle
defaultConfig {
applicationId appId
targetSdkVersion 28
minSdkVersion 19
versionCode buildCode
versionName versionMajor+"."+versionMinor+"."+versionRevision+"."+versionBuild
resValue "string", "CURRENT_VERSION", versionName
}
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.appcompat:appcompat:1.1.0-alpha03'
implementation 'com.google.android.material:material:1.1.0-alpha04'
implementation 'androidx.recyclerview:recyclerview:1.1.0-alpha03'
implementation 'androidx.browser:browser:1.0.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha3'
implementation 'androidx.preference:preference:1.1.0-alpha04'
implementation 'androidx.annotation:annotation:1.1.0-alpha02'
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'android.arch.navigation:navigation-fragment:1.0.0'
implementation 'android.arch.navigation:navigation-ui:1.0.0'
implementation 'com.google.android.gms:play-services-ads-lite:17.2.0'
implementation 'com.google.android.gms:play-services-oss-licenses:16.0.2'
implementation 'org.jetbrains:annotations:17.0.0'
}
搜索它不会出现其他任何问题示例。我唯一能想到的是proguard重命名了不该重命名的内容。由于我无法在任何模拟器或使用测试设备中重现它(只发生过5个用户,但总共发生了26次),所以我无法测试类似的东西
-keep class androidx.appcompat.widget.** {*;}
这就是我能想到的。
答案 0 :(得分:1)
您那里有重复的依赖项:
implementation 'androidx.appcompat:appcompat:1.1.0-alpha03'
// implementation 'com.android.support:appcompat-v7:28.0.0'
,没有widget N
。 ProGuard映射可能会告诉您实际上是什么。
-keep,includedescriptorclass class androidx.appcompat.widget.** { *; }
使用稳定版本也可能有助于理清意外的结果。