java - 无法从 ADB shell 启动活动
问题描述
使用该命令adb shell am start -a com.myfit.sugatmanshakya.my_fit.LoginActivity
会抛出以下错误:
> Activity not started, unable to resolve 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 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)
推荐阅读
- django - 除了超级用户,如何使字段在 django admin 中只读?
- python - 如何找到:每列中的第一个非 NaN 值是否是 DataFrame 中该列的最大值?
- angular - Angular 6 循环依赖逻辑解决方案
- jenkins - 在启动时为 Jenkins 覆盖 config.xml
- .htaccess - 如何正确重写我的 URL 以提供正确的 404 页面?
- matlab - 八度执行烦人的行为
- python - 如何根据 2 个数组的条件创建一个新数组?
- ms-access - 在 Access 表字段中使用 VBA 变量
- javascript - Highcharts:如何为条形图指定对数刻度
- python - 如何修复尝试在 Python 中查找用户文件的错误?