代码之家  ›  专栏  ›  技术社区  ›  Roonil

下载Play Store版本时应用程序停止,但在手机上直接运行build variant时,同一版本可以完美运行

  •  1
  • Roonil  · 技术社区  · 6 年前

    我最近尝试在Play Store上更新我的应用程序。以前的版本运行得很好,以前的更新也很好。我将新版本作为调试变体进行了试用,然后又作为构建变体直接运行到我的手机上。它当时工作得很好,但是当我生成一个签名的APK并将其发布到Play Store时,它会打开主屏幕,但在我单击一个按钮时就会停止。

    Process: com.creation.elfho.ncearesultstracker, PID: 1753
        java.lang.IllegalStateException: Could not find method onClick(View) in a parent or ancestor Context for android:onClick attribute defined on view class android.widget.LinearLayout
            at android.view.View$DeclaredOnClickListener.resolveMethod(View.java:5089)
            at android.view.View$DeclaredOnClickListener.onClick(View.java:5048)
            at android.view.View.performClick(View.java:6261)
            at android.view.View$PerformClick.run(View.java:23748)
            at android.os.Handler.handleCallback(Handler.java:751)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:154)
            at android.app.ActivityThread.main(ActivityThread.java:6776)
            at java.lang.reflect.Method.invoke(Native Method)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1496)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1386)
    

    我唯一的猜测是,当我最近更新Android Studio时(自从上次更新应用程序以来),可能发生了一些事情。

    我将把我的gradle代码也放在这里,因为我猜这是最有可能出现错误的地方:

    apply plugin: 'com.android.application'
    
    android {
    
    compileSdkVersion 26
    defaultConfig {
        applicationId "com.creation.elfho.ncearesultstracker"
        minSdkVersion 14
        targetSdkVersion 26
        versionCode 7
        versionName "3.4"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        debug {
        }
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    }
    
    dependencies {
        implementation fileTree(include: ['*.jar'], dir: 'libs')
        implementation 'com.android.support:appcompat-v7:26.1.0'
        implementation 'com.android.support.constraint:constraint-layout:1.0.2'
        implementation 'com.android.support:design:26.1.0'
        testImplementation 'junit:junit:4.12'
        androidTestImplementation 'com.android.support.test:runner:1.0.1'
        androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
    

    你知道我可能做了什么吗?

    2 回复  |  直到 6 年前
        1
  •  0
  •   Darshan    6 年前

    这种情况有时会发生在某些类/方法没有索引的情况下,因此应用程序中没有提供这些类/方法,从而导致崩溃。。。 最好的办法是清理/重建项目>构建生产Apk>测试它是否工作!

        2
  •  0
  •   Gabe Sechan    6 年前

    这里的游戏商店一点关系都没有。在某个定义了onClick的地方,要么该活动没有匹配的函数,要么键入了名称,要么签名错误。