gpt4 book ai didi

android - 无法在小米 Mi 4c 上从 Android Studio 运行应用程序(认为设备可能是原因)

转载 作者:太空宇宙 更新时间:2023-11-03 10:37:14 25 4
gpt4 key购买 nike

我正在使用最新的 android studio,启用了 USB 调试,手机被 AS 识别并且代码在模拟器上成功编译和运行,但是当我实际尝试运行应用程序时,它失败并出现此错误:

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

Error while Launching activity

同时我可以在 android 监视器窗口中看到类似的东西(但我不确定它是否 100% 相关):

01-12 17:50:19.111 18352-18352/? E/appproc: ERROR: could not find class 'com.android.commands.pm.Pm'
01-12 17:50:19.111 18352-18352/? A/art: art/runtime/thread.cc:1143] No pending exception expected: java.lang.ClassNotFoundException: Didn't find class "com.android.commands.pm.Pm" on path: DexPathList[[zip file "/system/framework/pm.jar"],nativeLibraryDirectories=[/vendor/lib64, /system/lib64]]
01-12 17:50:19.111 18352-18352/? A/art: art/runtime/thread.cc:1143] at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
01-12 17:50:19.111 18352-18352/? A/art: art/runtime/thread.cc:1143] at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:511)
01-12 17:50:19.111 18352-18352/? A/art: art/runtime/thread.cc:1143] at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:469)
01-12 17:50:19.111 18352-18352/? A/art: art/runtime/thread.cc:1143]
01-12 17:50:19.231 18352-18352/? A/art: art/runtime/runtime.cc:289] Runtime aborting...
01-12 17:50:19.231 18352-18352/? A/art: art/runtime/runtime.cc:289] Aborting thread:
01-12 17:50:19.231 18352-18352/? A/art: art/runtime/runtime.cc:289] "main" prio=5 tid=1 Runnable
01-12 17:50:19.231 18352-18352/? A/art: art/runtime/runtime.cc:289] | group="" sCount=0 dsCount=0 obj=0x12c41100 self=0x55bed629b0
01-12 17:50:19.231 18352-18352/? A/art: art/runtime/runtime.cc:289] | sysTid=18352 nice=0 cgrp=default sched=0/0 handle=0x7fb6243e80
01-12 17:50:19.231 18352-18352/? A/art: art/runtime/runtime.cc:289] | state=R schedstat=( 347813798 1653280 115 ) utm=22 stm=12 core=1 HZ=100
01-12 17:50:19.231 18352-18352/? A/art: art/runtime/runtime.cc:289] | stack=0x7fddc23000-0x7fddc25000 stackSize=8MB
01-12 17:50:19.231 18352-18352/? A/art: art/runtime/runtime.cc:289] | held mutexes= "abort lock" "mutator lock"(shared held)
01-12 17:50:19.231 18352-18352/? A/art: art/runtime/runtime.cc:289] native: #00 pc 000039a4 /system/lib64/libbacktrace_libc++.so (_ZN9Backtrace6UnwindEmP8ucontext+28)
01-12 17:50:19.231 18352-18352/? A/art: art/runtime/runtime.cc:289] native: #01 pc 0000001c ???
01-12 17:50:19.231 18352-18352/? A/art: art/runtime/runtime.cc:289] (no managed stack frames)
01-12 17:50:19.231 18352-18352/? A/art: art/runtime/runtime.cc:289] Pending exception java.lang.ClassNotFoundException thrown by 'unknown throw location'
01-12 17:50:19.231 18352-18352/? A/art: art/runtime/runtime.cc:289] java.lang.ClassNotFoundException: Didn't find class "com.android.commands.pm.Pm" on path: DexPathList[[zip file "/system/framework/pm.jar"],nativeLibraryDirectories=[/vendor/lib64, /system/lib64]]
01-12 17:50:19.231 18352-18352/? A/art: art/runtime/runtime.cc:289] at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
01-12 17:50:19.231 18352-18352/? A/art: art/runtime/runtime.cc:289] at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:511)
01-12 17:50:19.231 18352-18352/? A/art: art/runtime/runtime.cc:289] at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:469)
01-12 17:50:19.231 18352-18352/? A/art: art/runtime/runtime.cc:289] Dumping all threads without appropriate locks held: thread list lock
...

这对我来说是一个非常烦人的问题,我已经尝试了很多时间来解决它,但我在某处找到的唯一答案是安装不同的 ROM,甚至没有解释为什么要这样做,所以我寻找更好的选择,了解为什么会这样对我来说很重要。因此,如果您能帮助我解决这个问题和/或解释那里发生了什么,我将非常感激。


Upd1:我可以在设备上手动安装应用程序并且它运行得很好,我什至可以使用 AS 调试它,但是如果我对代码进行任何更改然后重新运行应用程序,它仍然是在设备上运行的旧版本代码,直到我手动删除旧的 apk/安装新的。

最佳答案

当我读到这个问题时,我看到 $ adb shell am start... 并以为他正在输入那个,但不是,这是由 AS 自动生成并显示在日志中(我的错)。


我(故意)通过在它前面添加“XXX”来使包名称不正确,如下所示:

adb shell am start -n "XXXcom.hotveryspicy.maskimage/info.androidhive.slidingmenu.SlidingMenuActivity"

Starting: Intent { cmp=XXXcom.hotveryspicy.maskimage/info.androidhive.slidingmenu.SlidingMenuActivity }

Error type 3 Error: Activity class {XXXcom.hotveryspicy.maskimage/info.androidhive.slidingmenu.SlidingMenuActivity} does not exist.

这会给出与您得到的相同的错误(如果您的 Activity 路径错误)。
您是否100%确定您的 Activity 包名称和完整路径正确?
检查您的 AndroidManifest.xml 以获得 OnlyTetstBBBAct Activity 和包名称的完整路径:

    package="com.example.ph.myapplication"
<activity android:name="com.example.ph.myapplication.OnlyTetstBBBAct" >

发布您的 AndroidManifest.xml 以便我们检查是否存在愚蠢的错误,并希望这不是难以修复的问题。
从 apk 中获取你的包名:

aapt dump badging <path-to-apk> 

(例如 C:\Android\sdk\build-tools\25.0.0\aapt dump badging app-debug.apk)
一些有用的命令:

adb uninstall com.example.ph.myapplication
adb -d install C:\Android\MaskActivity\app\build\outputs\apk\app-debug.apk
adb install -r app-debug.apk //(re-install preserving data)
adb shell rm /data/local/tmp/*.apk
adb devices
adb shell pm list packages

查看日志:

adb logcat


打开监视器查看 logcat:

C:\Android\sdk\tools\monitor

关于android - 无法在小米 Mi 4c 上从 Android Studio 运行应用程序(认为设备可能是原因),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41616198/

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