我一直用Eclipse编程Android,并决定开始迁移到AndroidStudio。我决定使用与Eclipse相同的SDK,然后:
开始新项目设置最低SDK 4.0(API级别14)选择空白活动选项活动名称和布局名称使用的默认名称点击完成
几秒钟后,Gradle完成了构建,并在文件Teste4\app\build\intermediates/deblodded aar\com.android.support\appcompat-v7\23.0.0\res\values-v23\values-v23.xml中向我抛出了两个错误,其中包含以下消息:
错误:(2)检索项的父项时出错:找不到与给定名称“android:TextAppearance.Material.Widget.Button.Inverse”匹配的资源。错误:(2)检索项的父项时出错:找不到与给定名称“android:Widget.Material.Button.Colored”匹配的资源。
在文件->项目结构->模块:app(左列)->财产选项卡下,我设置了以下版本:
“编译Sdk版本”:Android 5.1(API级别22)“生成工具版本”:23.0.2
我应该怎么做才能解决这个问题?
我已经尝试了堆栈溢出问题appcompat-v7:21.0.0中的建议:没有找到与给定名称匹配的资源:attr“android:actionModeShareDrawable”,但它不起作用。
当您更新Android Studio时,它默认使用API版本23,这是其发生的主要原因。所以
首先,在build.gradle(模块:app)中检查AppCompat版本即,
如果更改为23后出现错误,则只需下载
将Sdk版本编译为API 23,将Build Tools版本编译为23.0.0
来自SDK管理器。如果已下载,则:
1. Go to SDK Manager and
2. Under Project Structure, change *Compile SDK Version* to API 23, and *Build Tools Version* to 23.0.0
单击SDK管理器按钮并打开对话框。
单击SDK平台,检查是否下载了Android 6.0。
如果没有,那么先下载。完成下载后,单击应用。
现在,您需要将设置中的更改应用于项目。然后按Ctrl+Alt+Shift+S打开设置
从列表中单击应用程序。单击财产将编译SDK版本更改为API 23将生成工具版本更改为23.0.0
别忘了重建项目。
然后你的错误就会消失。
模块上:app(Gradle)
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.namepack.nameappxxxxx"
minSdkVersion 16
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
}
项目:nameAppXXXX(Gradle)
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.2.3'
}
}
allprojects {
repositories {
jcenter()
}
}
并将AppCompatActivity的活动编辑为例如“活动”:
package com.namepack.nameappxxxxx;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
public class NameClass extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
}
}