gpt4 book ai didi

Android 无法在我的测试手机 Pixel XL 上安装从 Eclipse 移植到 Android Studio 的应用程序

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:00:15 25 4
gpt4 key购买 nike

多年来,我一直在为 friend 的公司维护一款应用。当他们最近从 Android 5 更新到 Android 7 时,该应用程序停止运行。所以我移植到 Android Studio 并开始修复问题。现在,在消除了一堆错误之后,我无法在我的测试手机上安装该应用程序,这是一部运行 Android 8 的 Pixel XL。它一直在运行调试图像,直到我卸载它,以便我可以测试安装。 (我认为这是因为 Instant Run。)

现在我得到以下信息:

$ adb install-multiple -r -t I:\Users\...\app\build\intermediates\split-apk\debug\slices\slice_0.apk I:\Users\...\app\build\intermediates\split-apk\debug\slices\slice_1.apk I:\Users\...\app\build\intermediates\split-apk\debug\slices\slice_7.apk I:\Users\...\app\build\intermediates\split-apk\debug\slices\slice_4.apk I:\Users\...\app\build\intermediates\split-apk\debug\slices\slice_5.apk I:\Users\...\app\build\intermediates\split-apk\debug\dep\dependencies.apk I:\Users\...\app\build\intermediates\split-apk\debug\slices\slice_6.apk I:\Users\...\app\build\intermediates\split-apk\debug\slices\slice_3.apk I:\Users\...\app\build\intermediates\split-apk\debug\slices\slice_8.apk I:\Users\...\app\build\intermediates\split-apk\debug\slices\slice_2.apk I:\Users\...\app\build\intermediates\split-apk\debug\slices\slice_9.apk I:\Users\...\app\build\outputs\apk\debug\app-debug.apk 
Split APKs installed

$ adb shell am start -n "com.pbs.deliverytrack1/com.pbs.deliverytrack1.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -D
Error while executing: am start -n "com.pbs.deliverytrack1/com.pbs.deliverytrack1.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -D
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.pbs.deliverytrack1/.MainActivity }
Error type 3
Error: Activity class {com.pbs.deliverytrack1/com.pbs.deliverytrack1.MainActivity} does not exist.

Error while Launching activity

com.pbs.deliverytrack1/com.pbs.deliverytrack1.MainActivity 看起来正确吗?

附加说明:我能够在运行 Nougat 7.0 的 Samsung Edge 7.0 上通过电子邮件安装 apk。我仍然无法在运行 Oreo 8.0 的 Google Pixel XL 上安装它。

我已经尝试了所有我能想到的构建版本组合。我认为关键在于错误消息:

$ adb shell am start -n "com.pbs.deliverytrack1/com.pbs.deliverytrack1.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -D
Error while executing: am start -n "com.pbs.deliverytrack1/com.pbs.deliverytrack1.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -D
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.pbs.deliverytrack1/.MainActivity }
Error type 3
Error: Activity class {com.pbs.deliverytrack1/com.pbs.deliverytrack1.MainActivity} does not exist.

在 cmp=com.pbs.deliverytrack1/.MainActivity 部分,应该是 com.pbs.deliverytrack1/com.pbs.deliverytrack1.MainActivity?

更新在弄乱了 minSDK、maxSDK 和 targetSDK,以及三个不同版本的 Android:7.0、7.1.1 和 8.0 之后,我找到了继续工作的方法。我的客户端使用的是 7.0 和 7.1.1,所以我构建了一个运行 7.0 的模拟器,我一直用它来调试我的应用程序。 (实际上是我妻子的建议。)所以我又要继续前进了。

我也会像往常一样处理怪异的问题。我将使用 -XLint 并修复我能找到的每一个警告。 (当你不能修复你想要的错误时,宝贝,修复你得到的错误。)除了清理一些长期悬而未决的问题外,我希望它最终会导致这个错误的压缩。

感谢大家的帮助和建议。我会把它打开一会儿,看看是否有人想出一个奇迹。我宁愿奖励赏金,也不愿让它进入比特桶。 :)

所以,我再次虚心求助。谢谢,雷

最佳答案

像评论中提到的CommonsWare,看起来你的应用正在安装,只是无法启动。我可以想到要检查的两件事:

  1. 确保您的 AndroidManifest.xml 文件列出了 MainActivity 的正确完全限定类名。如果它不正确,那么你的应用程序将会安装,但它会在启动时崩溃并提示无法找到你的 MainActivity
  2. 如果您正在使用 ProGuard,请检查以确保您的规则已设置,以便 ProGuard 不会从您的 APK 中删除 MainActivity 类。许多开发人员只混淆他们的非调试构建,而您提到您的调试构建工作正常,所以这可能是一个提示。
  3. 编辑:我还能想到一个。如果您要更改 debug buildType 中的 applicationId,那么您需要在 adb am 中指定相同的 ID启动命令。

关于Android 无法在我的测试手机 Pixel XL 上安装从 Eclipse 移植到 Android Studio 的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47064857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com