生成的APK崩溃了

时间:2018-08-28 17:19:36

标签: android

我刚刚完成了上一个android项目,但遇到了一个奇怪的问题。在我一直在使用该应用程序的所有时间里,我总是通过单击该绿色按钮在设备上运行它,并且运行良好。但是,既然我已经创建了应用程序的apk文件,它就可以毫无问题地安装在设备上,但是在我想启动该应用程序时,它崩溃了并且永远不会启动。

任何帮助将不胜感激。谢谢。

更新:依赖项:

implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support:design:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
implementation 'com.android.support:support-vector-drawable:26.1.0'
implementation 'com.android.support:preference-v14:26.1.0'
implementation 'com.github.codekidX:storage-chooser:2.0.4.2'
implementation 'com.google.firebase:firebase-storage:16.0.1'
implementation 'com.google.firebase:firebase-auth:16.0.3'
implementation 'com.google.firebase:firebase-core:16.0.1'
implementation 'android.arch.lifecycle:viewmodel:1.1.1'
implementation 'android.arch.lifecycle:extensions:1.1.1'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.android.support:cardview-v7:26.1.0'

ViewModel类:

private class MyImageViewModel: ViewModel(){
    fun returnImagePath(): String{
        return createdImageFile
        //createdImageFile is a global string that contains the path of an image and its default value is ""
    }
}

ViewModelUsage:

val model = ViewModelProviders.of(this).get(MyImageViewModel::class.java)
    createdImageFile = model.returnImagePath()
    if (createdImageFile != ""){
        //do sth with the image file path
    }

2 个答案:

答案 0 :(得分:0)

解决方案:

代替:

val model = ViewModelProviders.of(this).get(MyImageViewModel::class.java)

写:

var model: MyImageViewModel()

然后

model = ViewModelProviders.of(this).get(MyImageViewModel::class.java)

尝试一下,希望它能工作。

答案 1 :(得分:0)

感谢所有尝试提供帮助的人,我找到了问题所在。这是一个愚蠢的事情。 ViewModel类不应是私有的!就是这样。