通过从Android Studio运行时安装APK,应用程序崩溃,但运行正常。

5

我最近将Android Studio更新到2.3,SDK更新到25。现在当我从Android Studio运行应用程序时,无论是在我的手机上还是在模拟器上,它都可以完美地工作,但是当我生成APK或从App获取APK并安装在设备上时,它会崩溃。

apply plugin: 'com.android.application'
    android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
    applicationId "lovestar.lycamobile"
    minSdkVersion 15
    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.2.0'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
testCompile 'junit:junit:4.12'

}

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="lovestar.lycamobile">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application
    android:allowBackup="true"
    android:icon="@mipmap/lycalogo"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name="lovestar.lycamobile.MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name="lovestar.lycamobile.Lyca"></activity>
</application>


3
关闭"即时运行",清除项目,重新构建并生成APK文件。尝试运行新生成的APK文件。 - user2756345
检查移动设备的版本。你的移动操作系统版本可能是6.0,而模拟器版本较低。因此可能会出现权限问题。请发布您的logcat。 - Shubhank Gupta
@ASIF RAZA,你提供的信息不足以诊断问题。请分享您应用程序的manifest文件和logcat。谢谢。 - Geek
1
我的移动版本是5.1,并且我已经安装了SDK 25和23。 - ASIF RAZA
我已经安装了API 23,并在我的5.0设备上遇到了同样的问题,所以请尝试我的解决方案。 - Prashanth
显示剩余3条评论
4个回答

4
我在2-3天前遇到了这个问题。这是由于Instant Run功能引起的。应用程序的最新代码没有正确地构建APK,因此请从Android Studio菜单中重新构建APK。
要解决这个问题:
1.使用Android Studio菜单中的Build APK选项,并在手机上安装。
如果上述步骤无效,请参考第2步。
2.通常这是AndroidManifest.xml的问题,没有正确的包名或者没有正确定义带有MAIN意图的活动。这很容易修复。

1
我已经构建了APK并安装了它,但是它显示“应用程序未安装”。 - ASIF RAZA
你能分享截图吗? - Prashanth
我有分享屏幕截图。如果我从Android Studio运行应用程序,它可以工作,但APK无法工作。 - ASIF RAZA
请提供 apk-debug 而不是 release 版本。 - Prashanth
让我们在聊天中继续这个讨论 - Prashanth
通常情况下,这是AndroidManifest.xml的问题,没有正确的包名或者没有正确定义具有MAIN意图的活动。这很容易修复。 - Prashanth

2

“应用程序未安装”错误的可能/常见原因

  • 存储空间不足:您的存储空间可能已经满了,无法容纳新的应用程序。

  • 应用程序或APK文件损坏:这在从Google Play Store以外下载的应用程序中最为常见。该应用程序可能已损坏或下载不完整,或者是复制时出现问题。

  • 应用程序安装位置不正确:一些应用程序只能安装在手机内存上,而其他一些应用程序可以同时安装在手机内存和SD卡上。对于前者尝试做其他事情会导致此类错误。

  • 在挂载的SD卡上安装:也许你的SD卡已经挂载在笔记本电脑或其他地方。在这种状态下尝试安装任何东西都会导致错误,因为SD卡是无法访问的。

  • 存储器(手机和SD卡)已损坏:这可能是此错误最常见的原因。如果您的设备存储器已损坏,则无法安装任何应用程序。

  • APK签名/证书冲突:在同一设备上安装另一个版本的应用程序(具有不同的签名证书)可能会导致此错误。安装未签名的应用程序也可能导致此错误。 应用程序权限错误或临时操作系统故障也可能导致此错误。

我认为您没有以正确的方式导出APK,这就是为什么您会遇到这个错误。


1
谢谢,现在它可以工作了。在安装存储库并从Android Studio菜单中构建APK之后。 - ASIF RAZA

1
生成签名APK,您将摆脱此问题。

1
我的apk已经签名,但仍然出现与之前相同的错误。 - user4860969

-2

SDK Level 23 意味着 Android 6.0 Marshmallow。您的手机的 Android 版本是否真的等于或大于 6.0?要检查这一点,请打开设置应用程序,向下滚动,点击“信息”,然后点击“软件信息”。您将在顶部看到您的 Android 版本。


1
我的移动版本是5.1。 - ASIF RAZA
因此,您无法在设备上正常使用此应用程序。Android Studio会将调试上传到您的手机,以便您可以继续使用,但通常情况下不可能。请将API级别更改为21。 - Excalibur
我没有安装SDK 21。 - ASIF RAZA
所以你必须安装它。打开你的SDK管理器,选择它并点击安装。SDK不支持向下兼容。比如,如果你的手机使用的是SDK 21级别,而你已经安装了SDK 23,那么它将无法运行;但是如果你的手机使用的是SDK 23级别,而你安装了SDK 21,那么它将可以完美运行。 - Excalibur
在之前的 Android Studio 版本中,我使用同一部手机和同一版本的 SDK,一切都运行得非常完美。 - ASIF RAZA
实际上有两个SDK级别,它们被称为构建版本和目标版本。如果您的移动设备符合构建版本,那么就可以了。 - Excalibur

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接