我正在尝试从命令行启动特定的Activity。 我正在为Android O(api 26)构建应用程序,我尝试显式启动该活动来模拟深层链接
活动清单
<activity
android:name=".activities.ChatActivity"
android:label="@string/chat_action_bar_title"
android:launchMode="singleTask"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.BROWSABLE"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
我的包裹是:package =“com.my.app”
我正在使用此命令:
adb shell am start -n com.my.app.activities/.ChatActivity
我收到此错误:
Starting: Intent { cmp=com.my.app.activities/.ChatActivity }
Error type 3
Error: Activity class {com.my.app.activities/com.my.app.activities.ChatActivity} does not exist.
我尝试添加
-a android.intent.action.VIEW
和
-c android.intent.category.DEFAULT
但我无法开始这项活动,
我做错了什么?
答案 0 :(得分:4)
因此,在寻找未知的数小时后,我找到了解决方案。 在我的应用程序中,我使用一些BuildVariants来区分工作阶段。
所以不要使用命令
adb shell am start -n com.my.app.activities/.ChatActivity
我应该使用
adb shell am start -n com.my.app.MY_BUILD_VARIANT/com.my.app.activities.ChatActivity
感谢帮助者
答案 1 :(得分:0)
您缺少子包和启动器意图。将其更改为
adb shell start -n com.my.app/.activities.ChatActivity