java - 无法从 ADB shell 启动 Activity

标签 java android adb

使用命令 adb shell am start -a com.myfit.sugatmanshakya.my_fit.LoginActivity 会抛出以下错误:
> Activity 未启动,无法解析 Intent ,flg=0x10000000

我的 AndroidManifest.xml 代码的一部分:

<?xml version="1.0" encoding="utf-8"?>
<manifest android:versionCode="1" android:versionName="1.0" package="com.myfit.sugatmanshakya.my_fit"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="28" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <permission android:name="com.myfit.sugatmanshakya.my_fit.permission.C2D_MESSAGE" android:protectionLevel="signature" />
    <uses-permission android:name="com.myfit.sugatmanshakya.my_fit.permission.C2D_MESSAGE" />
    <application android:theme="@style/AppTheme" android:label="@string/app_name" android:icon="@drawable/transparent_logo" android:debuggable="true" android:allowBackup="true" android:supportsRtl="true" android:roundIcon="@mipmap/ic_launcher_round" android:appComponentFactory="android.support.v4.app.CoreComponentFactory">
        <activity android:name="com.myfit.sugatmanshakya.my_fit.MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="com.myfit.sugatmanshakya.my_fit.LoginActivity" />
        <activity android:name="com.myfit.sugatmanshakya.my_fit.WorkoutsActivity" />
        <activity android:label="Healthy Facts" android:name="com.myfit.sugatmanshakya.my_fit.HealthyFactsActivity" android:parentActivityName="com.myfit.sugatmanshakya.my_fit.WorkoutsActivity" />
        <activity android:label="Help" android:name="com.myfit.sugatmanshakya.my_fit.HelpActivity" android:parentActivityName="com.myfit.sugatmanshakya.my_fit.WorkoutsActivity" />
        <activity android:label="Note Exercise" android:name="com.myfit.sugatmanshakya.my_fit.CatalogActivity" android:parentActivityName="com.myfit.sugatmanshakya.my_fit.WorkoutsActivity" />
        <activity android:name="com.myfit.sugatmanshakya.my_fit.ExerciseEditorActivity" android:parentActivityName="com.myfit.sugatmanshakya.my_fit.CatalogActivity" />
        <provider android:name="com.myfit.sugatmanshakya.my_fit.Database.ExerciseProvider" android:exported="false" android:authorities="com.myfit.sugatmanshakya.my_fit" />
        <activity android:label="Send Feedback" android:name="com.myfit.sugatmanshakya.my_fit.FeedbackActivity" android:parentActivityName="com.myfit.sugatmanshakya.my_fit.WorkoutsActivity" />
        <activity android:label="Workouts" android:name="com.myfit.sugatmanshakya.my_fit.DetailedWorkOutActivity" android:parentActivityName="com.myfit.sugatmanshakya.my_fit.WorkoutsActivity" />
        <activity android:label="Healthy Facts" android:name="com.myfit.sugatmanshakya.my_fit.FatBurnActivity" android:parentActivityName="com.myfit.sugatmanshakya.my_fit.WorkoutsActivity" />
        <activity android:label="Legs" android:name="com.myfit.sugatmanshakya.my_fit.LegActivity" android:parentActivityName="com.myfit.sugatmanshakya.my_fit.WorkoutsActivity" />
        <activity android:label="Abs" android:name="com.myfit.sugatmanshakya.my_fit.AbsActivity" android:parentActivityName="com.myfit.sugatmanshakya.my_fit.WorkoutsActivity" />
        <activity android:label="Butt" android:name="com.myfit.sugatmanshakya.my_fit.ButtActivity" android:parentActivityName="com.myfit.sugatmanshakya.my_fit.WorkoutsActivity" />
        <activity android:label="Core" android:name="com.myfit.sugatmanshakya.my_fit.CoreActivity" android:parentActivityName="com.myfit.sugatmanshakya.my_fit.WorkoutsActivity" />
        <activity android:label="Arms" android:name="com.myfit.sugatmanshakya.my_fit.ArmsActivity" android:parentActivityName="com.myfit.sugatmanshakya.my_fit.WorkoutsActivity" />
        <activity android:label="Strength" android:name="com.myfit.sugatmanshakya.my_fit.StrengthActivity" android:parentActivityName="com.myfit.sugatmanshakya.my_fit.WorkoutsActivity" />

那我该怎么办?

最佳答案

adb shell am start -a com.myfit.sugatmanshakya.my_fit.LoginActivity 

-a 用于操作字符串。您没有此 Activity 的操作字符串:

<activity android:name="com.myfit.sugatmanshakya.my_fit.LoginActivity" />

相反,使用:

adb shell am start -n com.myfit.sugatmanshakya.my_fit/com.myfit.sugatmanshakya.my_fit.LoginActivity 

(将第一个 com.myfit.sugatmanshakya.my_fit 替换为您的应用程序 ID,如果它还不是您的应用程序 ID)

关于java - 无法从 ADB shell 启动 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60248310/

相关文章:

Android Studio 卡在安装 APK,adb 有时无法安装 APK,并且 Android Studio 以某种方式干扰了 adb 的安装命令

java - 推迟 Android 绑定(bind)服务的销毁

android - 如何测试仅在更新后出现的 "Application is not installed"问题

driver - 三星 Galaxy S3 没有出现在 Eclipse 中,而是出现在设备管理器中?

java - Firebase 提供程序出现错误

console - System.out 什么时候不会出现在 Java 控制台中?

java - JDBC 驱动程序未在 Java 中正确加载

java - RequestScoped bean 在单个请求期间多次创建/销毁

当 USB 电缆循环时,Android ADB-over-WiFi 仍然断开连接(?!?)

Java:如何在其类型定义中修改当前枚举的值?