我正在与Android和兼容性库AppCompat作斗争,而我正在失败。我来这里哭泣求助。
由于我想使用NavigationDrawer
(使用Android Studio自动生成的代码),我必须开始使用AppCompat库。我的应用程序不再起作用,因为构建器无法找到主题AppCompat。
我按照此处的所有步骤操作:https://developer.android.com/tools/support-library/setup.html#add-library
这是gradle文件“Module:app”:
apply plugin: 'com.android.application'
android {
compileSdkVersion 19
buildToolsVersion "19.1"
defaultConfig {
applicationId "it.misc.application"
minSdkVersion 19
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
debuggable true
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile project(':another-library-here.')
}
这是res / values / style.xml
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="android:Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
</style>
</resources>
错误是:
Error:Error retrieving parent for item: No resource found
that matches the given name
'android:Theme.AppCompat.Light.DarkActionBar'.
由于我做了文档所说的所有内容,并且我还根据另一个StackOverflow问题的答案删除/重新安装了兼容性库,我不知道还能尝试什么。
是否与我使用API和构建工具ver这一事实有关。 19和Android支持库21.0.3? (我想不是,但是......)
这是新的gradle,但建筑仍然失败:
android {
compileSdkVersion 19
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "it.autostradetech.orchestra.negoziante"
minSdkVersion 19
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
debuggable true
}
}
productFlavors {
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile project(':orchestra.autostradetech.it.')
}
如果我将minSdkVersion
设置为14,7,8或任何其他随机数,则不会发生任何变化。
答案 0 :(得分:3)
android:Theme.AppCompat
Theme.AppCompat
不是{{1}}。只有来自框架的资源才有前缀。
同样将编译SDK版本更改为21.支持库版本,目标SDK和编译SDK版本应该对应。
答案 1 :(得分:1)
尝试将compileSdkVersion
和targetSdkVersion
更改为21
,并在项目设置中也进行更改。如果您真的想使用appcompat-v7
库,那么我认为minSdkVersion
至少应为14
。
编辑:它必须是Theme.AppCompat.Light.DarkActionBar
,而不是android:Theme.AppCompat.Light.DarkActionBar
。
答案 2 :(得分:1)
替换:
<style name="AppTheme" parent="android:Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
</style>
使用:
<style name="AppTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
</style>
答案 3 :(得分:0)
按照this question中的建议尝试此解决方案。