Freeze on Copying APK file - unity3d

I created a new empty project, switched platform to Android and started Build and Run. But when it comes to "Copying APK File to device" it just freezes and I have to restart Unity.
I installed Android SDK & NDK tools just before that (through Unity Hub). Android Build Support was installed by me manually a while ago so it was visible as installed in Add Modules window. I did not do any changes to the project. The most interesting thing is that the apk is built in my Builds folder. Not sure if it works though.
I am using Unity 2019.1.0f2. The device Android version is 9.0 (API level 28) and the minimum API set in Player is 16, so the problem should not be with API.
Does anyone know possible reasons for it?

Try to turn off the following setting on your android device.
Settings -> Developer options -> Monitor apps installed by ADB
This setting(if turned on) will ask a verrification if you want to install the app. It feels like this cuts off the connection with unity which causes it to get stuck.
Unplugging and replugging the device seems to work aswell. In case of big projects this is anoying tho since if you are to quick it will just say it lost connection and it will ask if you want to reconnect, which in turn causes the same problem.

This is the only answer that worked for me:
https://answers.unity.com/questions/1248123/build-run-apk-freezes-on-pushing-content-only-one.html
In short, Player settings -> Publishing settings -> Split application binary

First of I would ask you on what computer did you run this on? (performance wise)
Second you can just copy the .apk file to the phone and install it there. If you got to where it prompts for copying to android your apk file is fine and built.

Related

This app is incompatible - on installing apk build on unity

When I run my game through Unity Remote 5 it works well, but when I build the apk and try to install it on my device, it shows app is incompatible, I have tried changing many settings in player settings section but nothing worked for me. What can be done with this problem?
I am using unity 2017.3, the Android version on phone is 7.0 (Nougat) (I also tried on oreo but didn't work either), minsdk version in player settings is set on the marshmallow and target SDK version is on highest installed.
I have had this problem before. Maybe you can try removing the app you just have installed and trying to install the new version.
But you should complete your question with more information as someone comented.
Hope it works!

Can I use Unity remote with a Android emulator instead of Android phone?

Unity Remote is good app. It allows to connect with Unity while you are running your project in Play mode from the editor.
But what if I want to test game but I don't have an Android phone? Yes, it happens ¯\_(ツ)_/¯
I have a great Android emulator: Nox APP Player
The emulator doesn't have USB, so it just show me standsrt text Connect device with a USB cable ..... bla bla bla ...Game in the Unity Editor is running...emulator doesn't display the game.
Can I somehow connect this emulator to unity using Unity Remote? Or using something else? How?
Not sure if you still need the solution for this problem, but I think I should leave an solution for those who come later.
You can connect Nox with Unity via UnityRemote (I'm using Unity Remote 5) with the adb of Nox. Here the steps :
Rename your adb.exe to other (i.e adb_origin.exe). It's normally located at SDK folder\platform-tools
Go to Nox installation folder\bin, looking for nox_adb.exe, copy it to the location of your origin adb.exe
Rename nox_adb.exe to adb.exe
Open cmd and enter : adb.exe connect localhost:62001 and you will see "already connected to localhost:62001". If not, you can try replace localhost by 127.0.0.1
Then apply steps 3 → 7 of #Alexey
At the Resolution dropdown, you can choose Normal (default is Downsize) to have better image quality on Nox
Note that after all of this, you should restore the origin adb.exe for later use.
Here is my result picture :
Hope this will be useful.
Took from https://gamedev.stackexchange.com/a/126192/81175
I was able to run Unity Remote 4 on standard Android emulator.
Final effect looks something like
Whole procedure:
Install Unity and open some Unity tutorial project (2D Roguelike tutorial in my case)
Install JDK, Android SDK and setup Android emulator using AVD Manager.
My emulator config looks like this:
Important note: CPU/ABI option seems to be one of most important ones(Intel x86 emulator didn't work for me)
Then install Unity Remote 4 from apk file to emulator using command: adb.exe install path/to/apk (Windows) or adb install path/to/apk (Linux/Mac).
Then in Edit → Preferences → External Tools — set paths to Android SDK and JDK
In Edit → Project Settings → Editor in section Unity Remote select: Any Android Device.
In File → Build Settings — add Your scenes and switch platform to Android.
Press PLAY in Unity while Android Emulator is running and Unity Remote 4 app is opened.
Tip: At first I needed to restart unity after all changes, because it wasn't starting game on emulator. Now it runs everytime.
However, it works for AVD Manager emulators. I've tried them too, before I asked the question, and they didn't work because of CPU/ABI Intel x86 as #Axxxon said...now it works with CPU - ARM armeabi...
Unfortunately NOX APP PLayer doesn't connect. Maybe it because it's not have CPU/ABI settings. Or I just don't get how to launch this player with Unity.
It is said. Because NOX APP has touch simulating, screen shaking and other good stuff for checking game. AVD emulators doesn't have these things :'-( therefore they are useless for me.
But maybe this answer will help to someone.

Unable to launch Android emulator from Eclipse/Linux

I'm using Eclipse Juno (build 20120920-0800) on openSUSE 12.2 to code Android applications.
I have installed the SDK by uncompressing it into my home directory (if I install the SDK via YaST package I can't download stuff unless I'm root). I installed ADT from Eclipse Marketplace, configured the path of the SDK and configured a couple of emulator configurations.
I can run and debug fine on my phone, and I guess the same applies to my tablet even if I haven't tried yet.
The real problem is that I can't run the emulator. Clicking on the bacarozzo debug icon prompts me to run the application on the device but doesn't show me available emulators.
If I open the device manager I'm shown with the virtual devices I created but I can't just start any. The progress bar reaches the end, I see no emulator screen and if I try to delete the emulator I'm warned that the instance is running... (OK in the screenshot there is only one, I already managed to delete the other)
I urge to test some GUI features in an outdated version of Android. I have done all the field tests of the business logic code in my program on a JB device and I know for sure that code works on any device.
Now I only need to be backward-compatible with preferences and layouts.
How can I start the emulator in Linux?
Just by luck I managed to run the emulator from console
djechelon#RAYNOR:~/android-sdk-linux/tools> ./emulator-arm -avd Emulator_cell
It came to life and Eclipse debug is detecting it as active device

Android emulator shows nothing except black screen and adb devices shows "device offline"

I am just trying to start development in Android.
So, the problem is that when I try to launch an emulator by issuing the command emulator #A2, an emulator comes up on the screen. But even after waiting for as long as 2-3 hrs, all it shows is a black screen. Not even the Android home screen or the Android logo. Just a black screen. And while initially "adb devices" shows the emulator as offline.after 2-3 minutes the list of attached devices becomes blank.
I searched all over net and tried all the steps mentioned there like kill and restart adb, install java/android in a directory without spaces, but to no avail.
My Jdk and Android installations are in following folders:
C:\Java32BitInstallation
C:\AndroidSdkInstallation
Here's the list of stuff I have downloaded/installed for it:
Android SDK Tools, revision 13
Android SDK platforms tools, revision 10
SDK platform Android 4.0.3, API 15, revsion 1
Jdk jdk-7u3-windows-i586
In my path variable, I have added *C:\AndroidSdkInstallation\android-sdk\platform-tools;C:\AndroidSdkInstallation\android-sdk\tools;C:\Java32BitInstallation;C:\Java32BitInstallation\bin*
Also after reading somewhere from net I have added JAVA_HOME variable with its value as C:\Java32BitInstallation\ But still no use.
I have both IntelliJ and Eclipse installed on my system. But since for starting the emulator, I am not using any of these, I don't suspect any foul play with these.
I have been trying for past 10-12 days and have not been able to start the emulator, let alone write my first "Hello world" program.
Additional notes:
My system is a Windows 7 (64 bit) machine. Earlier I had installed 64 bit version of jdk, but the problem was present that time too. Now after searching on internet, I uninstalled that and installed 32 bit version of Java. But, again no use. One thing, though, this 32 bit version of Java (jdk 7 update 3), first install jre as part of jdk installation and then installs jre 7. So now I have 2 folders: jre and jre7 in the C:\Java32BitInstallation directory. Could this have to do anything with my emulator not turning up. Do I need to specify additional environment variables or modify the existing one?
BTW, did I mention the logcat shows nothing.
Update 25.07.2018:
The latest Android Studio version does not have this option anymore.
If the problem persists try to switch between the values of the "Emulated Performance" dropdown in the Verify Configuration dialogue (if available) or refer to the Configure Emulator graphics rendering and hardware acceleration.
Update 26.02.2014:
There are two hints in the Configuring Graphics Acceleration chapter from developer.android.com.
Caution: As of SDK Tools Revision 17, the graphics acceleration feature for the emulator is experimental; be alert for incompatibilities and errors when using this feature.
and
Start the AVD Manager and create a new AVD with the Target value of Android 4.0.3 (API Level 15), revision 3 or higher.
So Android 4.0.3 (API Level 15) seems to be the minimum requirement for graphics acceleration.
Original answer
I have had the same issue with the latest Android SDK.
I simply deactivated the checkbox "Use Host GPU" within the settings of the virtual device and it started working again.
The "Use Host GPU" does only work for me with Android 4.2 as "Target".
I have recently the same issue in emulator, Nexus 5 (Android O). I have go to Android Virtual Device Manager and Wipe User Data and it solved my Problem.
I had issues with getting the larger devices to emulate (Nexus7 and 10), while the phone sized emulators worked great. Would just keep getting a black screen with nothing for hours with the tablets. What helped was actually the OPPOSITE of what most people here are recommending: after setting the tick box for 'Use Host GPU' and setting the target to the highest android (4.4.2 at the time of this writing) the 7 and 10 work as expected!
Have you tried the power button :) ... it really worked for me. Actually emulator saves the device state before closing so at the last run if you switched off the device & closed the emulator then in the next run it will load previous state & display switched off phone aka blank screen. Although there might be many other causes of this issue.
Checking "Wipe user data" in the Launch Options fixed it for me.
Go to Android Virtual Device Manager->Select your device->Start->Check "Wipe user data"->Launch
Mac Users: Unfortunately, if you have an older Mac (late 2009 for example) and are using Yosemite, you cannot use HAXM for 64 bit architecture. According to the release notes on HAXM:
HAXM driver does not support emulating a 64 bit system image on Intel systems based on Core microarchitecture (Core, Core2 Duo etc.). All systems based on Nehalem and beyond are supported. (Corei3, Core i5 and Core i7 machines).
I spent a day trying to figure this problem out when I came upon this quote. The only thing that works is to use the non-x86 version of the latest OS (e.g. Lollipop Android 5.0.1 armeabi-v7a) in your AVD
How i solved the issue.. Open AVD manager, CLick on the drop-down arrow:
select >> wipe data after that u can select >> cold boot now..
It worked for me
Here is how i got it solved :
I ran the emulator with following command :
sudo /home/code/Android/Sdk/tools/emulator -avd Nexus_S_API_21 -netspeed full -netdelay none -debug-init -logcat '*:v'
and received the following in the output :
NAND: could not write file /tmp/android-code/TMP7.tmp, No space left on device. (similar error, could not reproduce it)
So, i just freed up some disk space from my /home directory in ubuntu (for windows free the C: drive space) and it then booted smoothly.
Do factory reset in "Android Device Manager".
In newer versions of Android Studio, this is called "Wipe Data", and it is in the right-click menu for the device in the virtual device manager.
Also had this issue out of the blue. Android studio was taking up 100% of CPU and in expo I had the following error:
Couldn't start project on Android: Error running adb: This computer is not authorized to debug the device. Please follow the instructions here to enable USB debugging: https://developer.android.com/studio/run/device.html#developer-device-options. If you are using Genymotion go to Settings -> ADB, select "Use custom Android SDK tools", and point it at your Android SDK directory.
Cold boot fixed it for me, like boltup_im_coding's answer. You can also cold boot this way if it's already running (with the black screen).
Make sure that you've installed the latest HAXM revision. I had the same blank screen problem with version 1.0.1 while 1.0.8 was already available. The installer can be downloaded via the SDK tools, to actually install the module you would have to execute
android-sdk-directory\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm.exe
I changed it to always "cold boot" to fix my problem. Prior to this, when I ran adb devices it always showed as offline.
Had this issue on my Nexus 7,Nexus 10 & Pixel as well that means in all the emulators.
After days of struggling with this issue,
I figured it out finally.
Well, there are a lot of answers above which may work or may not for you because their configuration may vary slightly than yours.
I'll tell you my solution:
When creating those emulators, I checked Hardware - GLES 2.0 in Graphics for better performance.
And for me it was the issue.
If you've done the same then,
Go to AVD Manager -> Select your emulator -> Click on Edit configuration (in Actions column marked as pencil) -> in Emulated performance - Graphics -> Select Software - GLES 2.0.
Then click on Show Advanced Settings -> Set none for both Front and Back camera and hit Finish.
Now select your emulator in AVD Manager and click on Dropdown arrow in Actions column -> select Cold Boot Now.
And yay you're ready to go 😀
Helped for me (windows 10, intel):
Disable Hyper-V in windows
Uninstall HAXM ( "Intel Hardware Accelrated ..." in control panel)
reboot
Install HAXM using android studio (Settings -> Android SDK -> SDK Tools -> Intel x86 Emulator Accelerator (HAXM Installer) -> install)
Run emulator (Also you may try Wipe VD data/Cold boot VD)
By the sound of it you have a misconfigured device. If you do it will never start and never show anything in Logcat.
I'd recommend creating a new device using one of the default "Device Definitions" available in the AVD Manager. It's as easy as highlighting the device type you want in the "Device Definitions" tab and clicking the "Create AVD..." button, then filling out a few details. I'd start by adjusting "Internal Storage" to around 8GB and (maybe) an "SD Card" of 2GB while leaving everything else the same. Try starting the device and if you see "Android" pop up onscreen you're running. The first boot usually takes awhile so just hang on and watch Logcat for any issues (the "DDMS" perspective helps here).
If you still see a black screen with a default device definition you've got problems elsewhere that are causing the device to fail. Digging through logs may be your only chance if that's the case. You can always try re-downloading the ADT and re-installing the SDKs if nothing else works.
The goal here is to get you up and running with a (very) basic device, so don't shoot for uber impressive specs at this point, just shoot for trying to make it run. Once that happens try adjusting the settings one-by-one until you have it spec'd out the way you like. Just keep in mind that the emulator has its limitations and its no substitute for a real device (Although it works most of the time ;)
This is a known bug if you selected "Use host GPU" option while creating AVD.
https://code.google.com/p/android/issues/detail?id=28614
Uncheck the option and it should work!
Just try to set CPU/ABI on "Intel Atom (x86)" and deactivate the checkbox "Use Host GPU".
The Problems associated with the Black window of the emulator:
Happens when a new windows is installed. Problem associated with graphics of the windows is on the CD of windows .You have to Update windows and follow the following steps.
If Emulated Performance Graphics is (Software GLES then select it to-->Automatic)
Or
If Emulated Performance Graphics is (Automatic then select it to-->Software GLES)
this alternation can solve this problem.
I was having this issue on my Mac. When you create the device if you change "Graphics" from "Automatic" to "Software" it fixes the issue, or it least it did for me.
The following fix worked for me:
Locate the AVD folder in ~/.android/avd
Open config.ini
Replace the following settings with these values:
hw.gpu.enabled=yes
hw.gpu.mode=on
Save and close the file
Do not open the AVD settings screen within Android Studio or it will revert the above settings
Start the emulator
Thanks to Sunsugh Park for providing the fix.
I have reported this to Google at Black screen starting API 15. Please star the issue to get them to fix it.
Edit
Actually, while the emulator booted ok, it crashed after opening an app. So the emulator team must have disabled hardware graphics for a reason. Unfortunately, it appears to be impossible to get the emulator to work.
I had the same problem on API 28, and the fix turned out to be as below;
Enabling Skia rendering for Android UI
When using images for API 27 or later, the emulator can render the Android UI with Skia, which can render more smoothly and efficiently.
To enable Skia rendering, use the following commands in adb shell:
su
setprop debug.hwui.renderer skiagl
stop
start
https://developer.android.com/studio/run/emulator-acceleration#accel-graphics
I too got the same problem. When i changed the Eclipse from EE to Eclipse Classic it worked fine. in Win professional 64Bit.
Have a try it may work for you too..
For a workaround try Android 4.0.3 (API 15) with the Intel Atom (x86) image. I could capture DDMS screenshots with both "use host gpu" and HAXM enabled. Only this combination worked for me.
I also had the same problem. I figured out that the HAXM hardware accelerator was recently updated but not reinstalled since the update manager just updates the installer package which get saved to your hard drive. You will need to remove HAXM and then run that installer package to complete the update. Usualy this gets installed into ANDROID-SDK-ROOT\android-sdk\extras\intel\Hardware_Accelerated_Execution_Manager. Where ANDROID-SDK-ROOT is the location where your android sdk is located.
For me, I had to turned off both front and back camera. Hope this helps!
I use Microsoft's lightning fast Android Emulators utilizing Hyper-V, and I had the same black screen for every Android emulator that I created no matter how I set the GPU Mode (auto, host, mesa, angle, swiftshader, off). Though my situation is apparently different form that of the OP, I thought it might be useful for those using Microsoft Android emulators and coming here after searching "android emulator black screen".
The solution in my case is updating all the Android tools:
Visual Studio > Tools > Android > Android SDK Manager > Tools
As of today (2019-02-01), Android emulators would have this black screen problem if you have a fresh install of Visual Studio 2017. VS shows notifications automatically for updates of NuGet packages, extension tools, etc., but NOT for Android tool updates. You have to check and update them manually.
I've managed to launch and debug an Android testing application on the Android emulator through Delphi.
I have Windows 7 64 bit, 4GB RAM, a dual core processor at 3GHz and Delphi XE 5.
Below is a link that I've prepared in a hurry for my colleagues at work but I will make it better by the first chance:
Debug Android Apps with Delphi
Forgive my English language but I am not a native English speaker. I hope you will find this small tutorial
I was having this problem after I got the blue screen of death while running my emulator. Here's my solution (for Windows at least). My solution is too completely re-install the AVD. The problem with the normal un-installation process for Android Studio is that it doesn't remove everything, so if your AVD files are corrupted, they will remain corrupted on re-install.
In order to fix this, I deleted two directories:
C:\Users\(My Username)\.Android
and
C:\Users\(My Username)\.AndroidStudio3.1
Then I re-ran in the installer.
I think this is the most foolproof solution if your emulator was previously working because it forces a complete refresh of the AVD component of Android Studio.
Another source of error could be the length of the PATH system variable (on Windows systems). Running intel based images with a PATH variable longer than 2047 characters, seems to pass an empty value of this variable to the console / emulator, so it cannot start correctly.
Here is an article describing this behaviour:
https://software.intel.com/en-us/articles/limitation-to-the-length-of-the-system-path-variable
I had the same problem. Reducing the total length of this system variable to 1354 chars by removing unused / non-existent paths fixed it for me.
I had the same problem. Here's my solution (for Mac OS). I just downgrade the version of the Android Emulator (from 28.0.3 to 27.3.8). Here is a detailed instruction how to do it.

Re-installation failed due to different application signatures

I moved my Android project to a laptop and now I get this when I hit Debug. Sounds like this is a bug? This shouldn't happen via Eclipse as far as I know.
Re-installation failed due to different application signatures.
The weirdest thing is this happened after I upgraded sdk/adt and Eclipse to support SDK 2.2 It was working fine earlier, and now it doesn't, so it might be a bug.
It happens because keystores on your laptop and original pc are different. it's called debug.keystrore
and located in %USER_HOME%/.android/ folder. TO be more specific it happens because eclipse tries to push apk with reinstall key. So you have two options
Share debug.keystore between various development pc's
Manually uninstall your apk from device ( using adb )
I also got the same problem and fixed it. you should do the following to fix it,
Uninstall the application from your mobile if you load it
already.
To uninstall goto settings->application->manage application.
Run the application again and choose the mobile
Hope this will help you
After you copy debug.keystore to your PC, you need to rebuild project on PC.
I had the same issue using the Droid emulator. I solved it by uninstalling the package from the application settings in the emulator as you would a normal device. On the next run, it reinstalled and the error went away.
I got the same problem and fixed it by just wiping the user data on the emulator. My guess is that the emulator keeps the project installed unless you wipe the data, so if your new project doesn't match some internal parameters it doesn't like it and won't reinstall it.
I also had the same problem and fixed it by uninstalling the app and reinstall it again.
ah i think i found your answer:
Why does the app signature change in Android after a classpath change?
its changed if you change the classpath
After searching and checking the phone, i came to know that i am currently developing 2nd version of this application which is already downloaded from android market in my phone, now as this app is signed and having different signatures this is throwing the above error.
Now, to resolve this issue, i had just uninstalled the app from mobile and run/install the application again.
I had the same issue with the emulator and i ran the command "adb uninstall TheNameOfPackage". Of course you must first go to the directory where the adb.exe has been installed, usually C:\Program Files\Android\android-sdk\platform-tools, and then run the above command.
For me after I copied all of my keystore files from my machine at home, I had to do a Project->clean. After that it worked perfectly.
When i tried to uninstall the application from my device after this issue occurs, i cannot able to find the app in my device. I don know where it gone. Then i uninstalled using adb,
adb -d uninstall <app package name>
This is the answer who are facing the issue similar to my problem.
I had the same issue.
To fix it I uninstalled the old .apk of the project from my device.
Go to device/emulator Settings -> Apps, find your app and uninstall it.
Or
In Android Studio open tab "Gradle" (on the right side), open:
appName
..appName
...Tasks
....install
.....uninstallAll
and click twice on this task to execute it.
Important note:
If you still get this error after uninstalling, try to Build->Clean Project.
If you still get this error, even if in your device Settings->Apps list you have no this app already, try to Build->Clean Project