Rbe*_*ben 10 debugging installation android android-studio
几年来,我一直在为朋友的公司维护应用程序.当他们最近从Android 5更新到Android 7时,该应用程序停止了工作.所以我移植到Android Studio并开始修复东西.现在,在挤出一堆bug之后,我无法将应用程序安装到我的测试手机上,这是运行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
Run Code Online (Sandbox Code Playgroud)
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.
Run Code Online (Sandbox Code Playgroud)
在以下部分中说: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并修复我能找到的每个警告.(当你无法修复你想要的bug时,宝贝,修复你得到的bug.)除了清理一些长期未解决的问题,我希望它最终会导致这个bug的挤压.
感谢大家的帮助和建议.我会稍微公开一下,看看有人想出一个奇迹.我更愿意奖励赏金,而不仅仅是让它进入比特桶.:)
所以,我再次谦卑地寻求帮助.谢谢,雷
与评论中提到的CommonsWare一样,看起来您的应用程序正在安装,它无法启动.我可以想到要检查的两件事:
AndroidManifest.xml
文件列出了正确的完全限定类名MainActivity
.如果它不正确,那么你的应用程序将安装,但它会在启动时崩溃并抱怨无法找到你的应用程序MainActivity
.MainActivity
从您的APK 中删除该类.许多开发人员只是ProGuard他们的非调试版本,你提到你的调试版本工作正常,所以这可能是一个提示.applicationId
你debug
buildType
,那么你需要在你指定相同ID adb am start
的命令. 归档时间: |
|
查看次数: |
544 次 |
最近记录: |