adb 셸을 통해 응용 프로그램 (필자가 궁금해 할 경우 작성하지 않은 활동)을 시작하려고합니다. 클릭하면오전 시작은 매니페스트에 나열된 주요 활동을 찾을 수 없습니다.
Error type 3
Error: Activity class {com.pkg.name/com.pkg.name.MainActivity}
does not exist.
그것은 그러나 작동합니까 :
<activity android:label="@string/app_name" android:name="MainActivity$mainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
내가에게 명령
adb shell am start -W com.pkg.name/MainActivity$mainActivity
adb shell am start -W com.pkg.name/.MainActivity$mainActivity
adb shell am start -W com.pkg.name/.MainActivity
adb shell am start -a android.intent.action.MAIN -n com.pkg.name/MainActivity$mainActivity
adb shell am start -n com.pkg.name/MainActivity$mainActivity
etc...
및 각각의 모든 사람이 나에게 오류를 제공를 사용하여 시도했다 매니페스트 라인을 가지고 에뮬레이터의 앱 아이콘에서 logcat 출력을 grepping하여 실행중인 활동이
.MainActivity$mainActivit
또는
.MainActivity
인 경우 모두 출력에 표시됩니다. 누군가
am start
이 작동하지 않는 이유와 실제로 수동으로 아이콘을 클릭하지 않고이 활동을 시작하는 방법을 말할 수 있습니까?
업데이트 : laalto가주는 해결책은 거의 옳습니다. $
이 환경 변수로 해결되면서 문제가되는 것으로 밝혀졌지만, 그가 제안한 명령은 그렇게하지 않았습니다. $
을 이스케이프하는 것 외에도 작은 따옴표를 <pkgname/activityname>
에 입력해야합니다.
Windows 또는 OSX/리눅스? – laalto
호스트 시스템에서 Linux가 실행 중입니다. – user381261
MainActivity $ mainActivity가 ** 정적 ** 내부 클래스이거나 ** 정적이 아닌 ** 내부 클래스 – Selvin