Jeg har et IntelliJ Android-prosjekt som jeg har importert til Android Studio 0.4.0. Det fungerer perfekt hvis jeg ikke endrer noe i manifestet. Men når jeg vil endre launcher-aktiviteten og kjøre, mislykkes det med denne feilen:
Launching application: com.trackingeng/LandingActivity.
DEVICE SHELL COMMAND: am start -D -n "com.trackingeng/LandingActivity"
-a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Starting: Intent { act=android.intent.action.MAIN
cat=[android.intent.category.LAUNCHER] cmp=com.trackingeng/LandingActivity }
Error type 3
Error: Activity class {com.trackingeng/LandingActivity} does not exist.
Når jeg klikker på Synkroniser prosjekt med Gradle-filer, skriver den ut:
Project Sync
The project 'TrackingEng' is not a Gradle-based project
Kjør innstillinger: .
Jeg sto overfor et lignende problem etter refaktorering.
Dette er hva jeg gjorde for å løse dette problemet:
Build
-katalogenOg alt fungerte fint!
Jeg tror nøkkelen er å start IDE på nytt.
Håper dette hjelper deg eller noen andre!
Rediger 1: Hvis trinnene ovenfor ikke fungerer for deg, ser det ut til å være en løsning å slette Gradle-hurtigbufferen, som påpekt av @Yasitha.
**Rediger 2
Som foreslått av et par brukere i kommentarfeltet nedenfor, kan problemet noen ganger løses ved å fjerne og installere appen på nytt fra enheten.
Skriv ganske enkelt adb uninstall <package>
i terminalen for å fjerne appen helt fra enheten.
**Redigering 3
Som nevnt i Abhishek's Answer, bør du også prøve å slette appen fra enheten hvis flere brukere er konfigurert på enheten.
Bare gå til Mobilinnstillinger > Apper > [Appen din] > Mer > Avinstaller app for alle brukere
.
Oppdatering for Android Studio 2.1 og nyere.
Når du kjører Android Studio 2.1 og nyere, kan du også støte på dette problemet når du har alternativet for øyeblikkelig kjøring aktivert i innstillingene (er aktivert som standard).
For å deaktivere dette alternativet går du til Innstillinger
i toppmenyen i Android Studio
og ser etter Instant Run
, slik at du kan fjerne merket i den første avkrysningsboksen på det skjermbildet.
]2
Det løste i hvert fall problemet for meg. Opprinnelig påpekt av brukeren @yusufonder. Jeg oppdaget at dette var problemet siden gradle install fortsatt fungerte.
Jeg hadde den samme feilen etter omdøping/refaktorering. Det jeg gjorde var å legge til egenskapsattributtet applicationId
i build.gradle-filen, og sette verdien til programpakken.
I build.gradle:
android {
defaultConfig {
applicationId "com.example.myapp"
}
}
AndroidManifest.xml
.Akkurat nå står det:
<activity android:name="LandingActivity" >
Prøv enten å legge til et punktum i begynnelsen av aktivitetens navn:
<activity android:name=".LandingActivity" >
Eller legge til pakkenavnet i begynnelsen av navnet på aktiviteten:
<activity android:name="com.trackingeng.LandingActivity" >
Det kan også være et problem at pakkenavnet ditt bare har to komponenter atskilt med punktum (pakkenavnet ditt er "com.trackingeng" et mer vanlig pakkenavn ville vært "com.trackingeng.app").