【问题标题】:Unable to open signed APK from android studio无法从 android studio 打开已签名的 APK
【发布时间】:2017-06-02 02:42:27
【问题描述】:

当我在 android studio 中点击“运行”按钮时,我可以运行一个 android 应用程序。但是,当我从 android studio 生成签名的 APK 时,我无法从签名的 APK 运行应用程序。我可以安装它但不能运行它。

我什至将应用程序放到 Google Play 上进行 alpha 测试,并且发生了同样的错误。我可以下载它,但不能运行它。

我的构建变体是发布模式。

关于为什么我无法打开应用程序有什么想法吗?

【问题讨论】:

    标签: android android-studio


    【解决方案1】:

    这意味着您可能正在使用proguard,导致运行时出现问题。

    如果你的 gradle 文件中有这一行,你可以检查你是否正在使用它:minifyEnabled true

    如果是这样,请打开名为 proguard-rules.pro 的文件并尝试编辑应用的属性,因为 proguard 可能正在缩小或删除有用的类,从而导致应用在启动时崩溃,因为设备无法找到必要的类或者好的。

    如果您没有使用 proguard,请将手机插入 IDE 并检查 logcat:您将能够看到您的应用程序在启动时崩溃的原因。这个问题可能来自错误的类转换、multiDexEnabled 参数等......在这种情况下,我们需要了解更多信息。

    【讨论】:

    • 奇怪的是,当我直接从 android studio 以构建模式或调试模式运行它时,它运行得非常好。我也检查了,我没有运行proguard。它甚至不只是在启动时直接崩溃......它根本没有给我打开应用程序的选项。我的应用程序使用启用了 js 的 webview 是否重要?
    • 使用 IDE 启动它与从 APK 运行它不同。它不使用相同的参数,例如使用 IDE 中的 google map 可以工作,但如果您从 APK 启动它将无法工作。它使用不同的证书。将您的设备插入您的计算机,启动您的 ide,在尝试打开您的应用程序时检查 logcat。您没有其他方法可以弄清楚。
    • 在尝试安装 APK 后,我发现的唯一错误是 E/AppIncrementalLogger: No apps are found for package name 'com.snappdigital.snappphilips' 但我不确定这是否会导致崩溃?
    • 您确定在清单上正确设置了默认活动吗?因为这可以解释很多:可能 IDE 有一个默认活动要启动,但如果您没有设置默认活动,则 APK 可能不是这种情况
    • 这是我在清单中的活动` ` 可以是不是它正在使用LEANBACK LAUNCHER?
    【解决方案2】:

    添加您的 AndroidManifest.xml

    <activity android:name=".YourActivityName">
        <intent-filter>
             <action android:name="android.intent.action.MAIN"/>
             <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-07
      • 1970-01-01
      • 1970-01-01
      • 2021-08-06
      • 2022-11-25
      • 2021-11-23
      • 2016-09-11
      • 2016-05-27
      相关资源
      最近更新 更多