Android系统。应用程序在几秒钟后中断。工作

时间:2017-08-29 09:24:56

标签: java android linux ubuntu android-emulator

Nexus 4 API 22.

我正在使用Ubuntu。 Android Studio 3.0 我在标准模拟器上运行应用程序并获得此错误

required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
    }

我在Genimotion上尝试过同样的事情。 Android 4和5.0 6.0。一切都是一样的。

但如果你在真正的手机上做同样的事情。顺便说一句,我有Android 6.0。一切正常。在其他手机上也检查过。

但事实证明,模拟器或Ubuntu存在一些错误。

  

如何纠正此错误?

提前谢谢

顺便说一下,我注意到了这样的事情。如果我在模拟器上禁用Internet,那么应用程序就会启动。但如果我打开互联网登录,我就会收到错误。

即应用程序尝试通过模拟器使用Internet,此时我收到错误。

谁面对这个?)))

2 个答案:

答案 0 :(得分:3)

只需启用multidex:按照以下步骤操作

android {    
defaultConfig {
    // Enabling multidex support.
    multiDexEnabled true
}  
}
dependencies {
compile 'com.android.support:multidex:1.0.0'
}

像这样创建一个类

public class Multi_Dex extends Application {
@Override
protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
    MultiDex.install(this);
}
}

现在在你最明显的文件中添加

<application
    android:name=".Multi_Dex"
    android:allowBackup="true"
    android:icon="@drawable/logo"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">

答案 1 :(得分:2)

在您的gradle中添加以下代码:

defaultConfig {
    multiDexEnabled true
}
dependencies {
    compile 'com.android.support:multidex:1.0.1'
}

创建一个类,我们将其命名为App,并从MultiDexApplication扩展,如下所示:

import android.support.multidex.MultiDexApplication;

public class App extends MultiDexApplication {
    //you can leave this empty or override methods if you like so the thing is that you need to extend from MultiDexApplication

}

在您的清单中添加App作为您的应用名称

<application
        android:name=".App" // <-- this is the important line!
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name">

添加完所有内容之后,进行干净的构建,现在应该可以正常工作:)。