Android Studio gets package name wrong when runnin

2019-01-10 23:07发布

问题:

I changed my package name from com.mycompany.myapplication to com.mycompany.testapp.

Everything builds fine but when I try to run it on the emulator, I get:

The session was restarted Target device: NexusS [emulator-5554] Uploading file local path: /home/antony/AndroidStudioProjects/testappProject/testapp/build/apk/testapp-debug-unaligned.apk remote path: /data/local/tmp/com.mycompany.myapplication Installing com.mycompany.myapplication DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/com.mycompany.myapplication" pkg: /data/local/tmp/com.mycompany.myapplication Success

Launching application: com.mycompany.myapplication/com.mycompany.testapp.MainActivity. DEVICE SHELL COMMAND: am start -D -n "com.mycompany.myapplication/com.mycompany.testapp.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.mycompany.myapplication/com.mycompany.testapp.MainActivity } Error type 3 Error: Activity class {com.mycompany.myapplication/com.mycompany.testapp.MainActivity} does not exist.

Note the remote path ^^^ is wrong.

If I go to the emulator, I can start the app from the menu, it's just that I get this error when i try to run the app from Android Studio.

I also see in logcat, on the top-right, the drop-down offers me "No Filters" or "app:com.mycompany.myapplication". So I can't even debug properly.

Where are these references to com.mycompany.myapplication coming from, and how can I fix this?

回答1:

I tried to restart Android Studio but the problem still existed.

Then the solution works with me.

  1. Remove the directory ~/.gradle/caches/. It's OK to do this while Android Studio is opened. (Refer pm installing wrong package name)
  2. Press "Sync project with Gradle files" icon on Android Studio
  3. Run the project and the remote path will be correct.


回答2:

Here is how I solved it. Very simple.

Click the 'Sync Project with Gradle Files' button at the top of the window.

The button looks like this in the latest versions of AS:



回答3:

I Did all mentioned things but no effect. Then I found something in build.gradle file and changed it as per my new package. It worked for me.

    defaultConfig {
    applicationId "com.*****.newPackageId"
    minSdkVersion 11
    targetSdkVersion 20
}


回答4:

I'll answer, just in case anyone else gets stuck with this. Strangely enough, restarting Android Studio solved the problem. Nothing more complicated, nothing less obvious.



回答5:

Clearing the cache and restart worked for me.

Go to Android Studio's File menu and select Invalidate Caches / Restart... option



回答6:

In new version of AndroidStudio, such as 0.9.1, this solution works with me:

1) remove ~/.greadle/2.1/taskArtifacts
2) clean project
3) run the project



回答7:

What I finally did, is change the 'application ID' in the build.gradle, build and launch. Then remove the apps from the phone and revert the application ID back



回答8:

My issue was that some of my .xml files (particularly AndroidManifest.xml) had their headers changed somehow.

Problematic header:

<?xml code="1.0" encoding="utf-8"?>

Change this to:

<?xml version="1.0" encoding="utf-8"?>

Notice how the problematic header shows code="1.0" instead of version="1.0".



回答9:

If your App is getting the Same name as your MainActivity and you have tried eve, try to remove

android:label="MyMainActivity"

tag from Mainactivity, then run your app. That worked for me :)



回答10:

Tried deleting taskArtifacts folder, invalidating,... nothing worked.

What end up working for me as forcing a Gradle Sync solved for me. (Just added a empty new line in the build.gradle to make it ask me to Sync and after the Sync it worked).



回答11:

I had the exact same problem.

  • Check the manifest first of all.
  • Then Check your gradle files
  • And finally, it might be worth checking the 'test' and 'androidTest' java files.

If you don't know what to do to these files, then look at the more complete answers above.