我有这样的布局。在这里,我将textColor设置为红色。
当我在模拟器上运行它时,一切都按预期工作。但是,当我在设备上运行时,textColor是白色的。它曾经在设备上工作。
我用模拟器做了很多代码重构。我可能已经改变了可能导致这个问题的事情。我希望其他人遇到类似的问题。
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="EXAMPLE"
android:textColor="@color/red"
android:textSize="60sp" />
可能是什么问题?
android {
dexOptions {
javaMaxHeapSize "6g"
}
compileSdkVersion 23
buildToolsVersion "23.0.2"
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
}
defaultConfig {
applicationId "someID"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
multiDexEnabled true
}
productFlavors {
dev {
minSdkVersion 15
}
prod {
minSdkVersion 15
}
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}
答案 0 :(得分:1)
我通过清理所有构建目录并清理/重建来解决此问题。
我还从.gradle中删除了productflavors / devDebug。这肯定是导致了这个问题,因为它是为minSDKVersion 15配置的,而我试图在22上运行。
来自Android文档:
android {
productFlavors {
// Define separate dev and prod product flavors.
dev {
// dev utilizes minSDKVersion = 21 to allow the Android gradle plugin
// to pre-dex each module and produce an APK that can be tested on
// Android Lollipop without time consuming dex merging processes.
minSdkVersion 21
}
prod {
// The actual minSdkVersion for the application.
minSdkVersion 14
}
}
...
buildTypes {
release {
runProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
}
}