添加Maven存储库会导致错误 - android.support.v7.widget.AppcompatTextView无法实例化

时间:2017-08-21 17:04:40

标签: android android-studio android-appcompat

注意:我已经完成了所有相关的帖子并完成了所写的内容,但没有任何效果。

我正在尝试添加ConstraintLayout 1.1。 0-beta1表示百分比尺寸,但每当我执行此操作时,底部会出现一个弹出窗口。
enter image description here

我点击了#34;安装存储库和同步项目"很多次但没有发生任何事。所以,我尝试在Build.gradle(项目)中添加以下代码,它运行正常,但出现了新的错误。

repositories {
    maven {
        url 'https://maven.google.com'
    }
}


新错误与AppCompatTextView

有关

以下课程无法实例化: - android.support.v7.widget.AppCompatTextView

java.lang.NullPointerException
    at android.content.res.Resources_Delegate.getValue(Resources_Delegate.java:788)
    at android.content.res.Resources.getValue(Resources.java:1286)
    at android.support.v4.content.res.ResourcesCompat.loadFont(ResourcesCompat.java:212)
    at android.support.v4.content.res.ResourcesCompat.getFont(ResourcesCompat.java:206)
    at android.support.v7.widget.TintTypedArray.getFont(TintTypedArray.java:119)
    at android.support.v7.widget.AppCompatTextHelper.updateTypefaceAndStyle(AppCompatTextHelper.java:208)
    at android.support.v7.widget.AppCompatTextHelper.loadFromAttributes(AppCompatTextHelper.java:152)
    at android.support.v7.widget.AppCompatTextHelperV17.loadFromAttributes(AppCompatTextHelperV17.java:38)
    at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:81)
    at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:71)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at org.jetbrains.android.uipreview.ViewLoader.createNewInstance(ViewLoader.java:475)
    at org.jetbrains.android.uipreview.ViewLoader.loadClass(ViewLoader.java:250)
    at org.jetbrains.android.uipreview.ViewLoader.loadClass(ViewLoader.java:213)
    at com.android.tools.idea.rendering.LayoutlibCallbackImpl.loadClass(LayoutlibCallbackImpl.java:193)
    at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:333)
    at android.view.BridgeInflater.onCreateView(BridgeInflater.java:152)
    at android.view.LayoutInflater.onCreateView(LayoutInflater.java:717)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:785)
    at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:222)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
    at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:858)
    at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:70)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:834)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
    at com.android.layoutlib.bridge.bars.CustomBar.<init>(CustomBar.java:95)
    at com.android.layoutlib.bridge.bars.StatusBar.<init>(StatusBar.java:67)
    at com.android.layoutlib.bridge.impl.Layout.createStatusBar(Layout.java:224)
    at com.android.layoutlib.bridge.impl.Layout.<init>(Layout.java:146)
    at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:301)
    at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:429)
    at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:368)
    at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:567)
    at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:549)
    at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:863)
    at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:549)
    at com.android.tools.idea.rendering.RenderTask.lambda$inflate$1(RenderTask.java:680)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

通过将ConstraintLayout 1.1.0-beta1替换为ConstraintLayout 1.0.1,可以删除上述内容,并且应用程序正常运行。

这是build.gradle(app)。

apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.android.application'    
android {
    compileSdkVersion 26
    buildToolsVersion "26.0.0"
    defaultConfig {
        applicationId "cant.reveal.the.secret"
        minSdkVersion 17
        targetSdkVersion 26
        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:26.+'
    compile 'com.android.support:design:26.0.0-alpha1'
    compile 'com.android.support.constraint:constraint-layout:1.1.0-beta1'
    compile 'com.google.firebase:firebase-ads:11.0.4'
    compile 'com.google.android.gms:play-services-maps:11.0.4'
    compile 'com.google.android.gms:play-services-location:11.0.4'
    compile 'com.readystatesoftware.sqliteasset:sqliteassethelper:+'
    compile 'com.android.support:support-v4:26.+'
    testCompile 'junit:junit:4.12'
}


最后,是否有任何解决方案/解决方法,以便我可以使用ConstraintLayout 1.1.0-beta1百分比尺寸而不会出现此错误。
此外,将26. +版本更改为26.0.0或26.0.1会显示相同的错误。

编辑 -
我发现了什么每当我在Android支持页面上描述的项目gradle中添加Maven repo时,就会出现此渲染错误。
另外,我无法看到我试图在SDK Mangager中添加的任何这些版本 - &gt;添加这些工具的工具不会影响repo的版本,也不会影响安装 在哪里可以找到这些库的.jar / .aar文件?

仍然需要帮助,任何帮助将不胜感激。谢谢。

4 个答案:

答案 0 :(得分:8)

请参阅我的回答here。与NullPointerException相关的AppCompatTextView可以通过将res / values / styles.xml中的父主题更改为Base之一来修复,例如

<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">

我刚试过它,可以使用ConstraintLayout测试版属性而不会出错。

答案 1 :(得分:1)

试试这个。

在Android Studio中,选择工具 - &gt; Android - &gt; SDK Manager

然后安装它。

enter image description here

<强>被修改

你能否展示你的intall的详细信息?

enter image description here

并检查您是否安装1.1.0-beta1

答案 2 :(得分:1)

尝试将构建版本降低到25

compileSdkVersion 25
buildToolsVersion "25.0.3"
defaultConfig {
    applicationId "com.snake.againimage"
    minSdkVersion 16
    targetSdkVersion 25
    versionCode 1
    versionName "1.0"

 compile 'com.android.support.constraint:constraint-layout:1.+'

然后添加约束布局

答案 3 :(得分:0)

在将库更改为ConstraintLayout 1.1.0-beta1之后,您是否尝试过清理项目并重建它?