Android Studio无法解析符号Theme.AppCompat.Light.DarkActionBar /无法解析" R"

时间:2017-08-07 14:14:12

标签: android android-studio android-gradle build.gradle

我还没有找到正确的答案。这是我第一个使用Android Studio的项目,我几乎失去了耐心:)。 Theme.AppCompat.Light.DarkActionBar标记为红色。

这是我的styles.xml:

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
</style>

</resources>

这是我的build.gradle

apply plugin: 'com.android.application'

android {
compileSdkVersion 25
buildToolsVersion "25.0.3"
defaultConfig {
    applicationId "helloworld.spsa3.helloworldproject"
    minSdkVersion 10
    targetSdkVersion 25
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}


dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.1.0'
testCompile 'junit:junit:4.12'
}

最后这是我的第二个问题,我确定它们是相关的。 &#34; R&#34;无法解决。 &#34; R&#34;也标有红色。

所以这是我的MainActivityFragment()类:

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;


public class MainActivityFragment extends Fragment{

public MainActivityFragment() {
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,

 Bundle savedInstanceState) {

    return inflater.inflate(R.layout.fragment_main, container, false);

}
}

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

R.java是生成的文件。如果你收到这样的错误

enter image description here

因为R.java无法生成。这可能是由错误的文件名或资源文件中的错误内容引起的。

寻找&#34;消息&#34;在Android Studio中查看(或通过菜单View -> Tool Windows -> Messages打开)。在对项目进行干净重建时,应该会看到与无法生成R.java的原因相关的错误。对于上面的示例,错误消息是:

  

/StackOverflow/app/src/main/res/drawable/illegal-name.xml

     

错误:&#39; - &#39;不是有效的基于文件的资源名称字符:基于文件的资源名称必须仅包含小写的a-z,0-9或下划线

因此,您可以看到我的illegal-name.xml资源无法使用连字符,并且应该更改为legal_name.xml

或者也许我搞砸了我的XML标签。也许在我的一个字符串资源中,我没有正确关闭标记:

<string name="label_register">REGISTER<string>

现在&#34;消息&#34;视图显示了这个错误:

  

/StackOverflow/app/src/main/res/values/strings.xml

     

错误:元素类型&#34;字符串&#34;必须由匹配的结束标记&#34; </string>&#34;。

终止

按照&#34;消息&#34;中的错误进行操作查看问题。

答案 1 :(得分:0)

如果重建或清理没有帮助,请尝试执行以下操作:文件 - 使高速缓存无效/重新启动