Android :: Distributing An App Packaged With Just Emulator
Apr 22, 2009
I was wondering if anyone has ever been able to distribute their app in a bundle with an emulator?
The reason I want to do this is that I have some friends who don't have android phones, but I'd like them to be able to play with my app so that they can give me feedback. I've previously sent them screen casts, but I'd really like them to be able to get interactive with the app.
Now I could ask them to get all installed with the whole android framework, eclipse etc,. but some of them are not so technical. Ideally what I'd like to be able to do is create a package that is the android emulator with my app and perhaps 1 or 2 other related apps pre- installed, so that they can download it, open it and run it interactively on their computers?
Has anyone ever tried this?
So far I found that I can run the emulator standalone, and I assume I could probably send them just that and it would run. However the adb tool is needed to install apps. I could send them that too, and ask the to run an 'adb install myapp.apk' from the command line, but at the moment I can't even seem to do that myself.
Running the emulator standalone, the adb tool can't seem to see it:
samuel-josephs-computer-2:tools samueljoseph$ sudo ./adb devices List of devices attached
I just get no list of devices ...
I have previously used the adb tool to install apk files, but that is after I had started the emulator from eclipse - of course even then I always have to restart eclipse and the emulator two or three times before I can get the connection (I am on OSX 10.5.6., eclipse 3.4.1) ...
How do I distribute my app to some friends who have G1s (yea, I'm looking at you, Scott!) for QA testing and feedback? My app certainly isn't ready to be put into any of the marketplaces. I don't have a problem giving out the source code, but I'd prefer to give him a nice binary file to install. Besides, I can see problems with keystore.debug and compiling and the like.
I have an application which is based Android 1.5 but for enabling different screen types support I have to compile and package it with v1.6. When I install and run the resulted APK on my 1.5 emulator, everything works fine except that "Preferences" activity crashes every time I launch it!
When I revert back my API dependency to 1.5 and remove a few 1.6 specific config blocks from AndroidManifest.xml and compile/package it with 1.5, everything works just fine!
I am developing an Android app that will display a random quote or verse to the user. For this I am using an SQLite database. The size of the DB would be approximately 5K to 10K records, possibly increasing to upto 1M in later versions as new quotes and verses are added. Thus the user would need to update the DB as and when newer versions are of the app or DB are released.
After reading through some forums online, there seem to be two feasible ways I could provide the DB: 1. Bundle it along with the .APK file of the app, or 2. Upload it to my app's website from where users will have to download it
I want to know which method would be better (if there is yet another approach other than these, please do let me know).
After pondering this problem for some time, I have these thoughts regarding the above approaches:
Approach 1: Users will obtain the DB along with the app, and won't have to download it separately. Installation would thereby be easier. But, users will have to reinstall the app every time there is a new version of the DB. Also, if the DB is large, it will make the installable too cumbersome.
Approach 2: Users will have to download the full DB from the website (although I can provide a small, sample version of the DB via Approach 1). But, the installer will be simpler and smaller in size. Also, I would be able to provide future versions of the DB easily for those who might not want newer versions of the app.
I created a sqlite database to store playlists for a media player I am developing because of extended feature (rather than using the Content Provider). It works perfectly on the 1.6 emulator but FCs on anything higher than 2.0... what has changed that I need to know about as far as opening databases in SDK 2.0+? Here is the logcat.
Here is the dbhelper class
why can't stackoverflow just use tags like a normal syntax highlighter.
And several other attempts to call "link" that also fail (sshfs does not support hard links).
Is it possible to change the emulator's behavior to create lock files somewhere in /tmp (using some hash of image path as lock file name)? I am OK to try this myself: which repositories from https://android.git.kernel.org/ are necessary to rebuild the emulator alone, and where in the sources is the code responsible for image locks?
Is there a way to reload an Android application in the emulator without closing the emulator, saving any code changes, and running the emulator again? If I make even a simple change to the layout, it takes about 30 seconds by time I run it in Eclipse and Android "boots", and I can unlock the emulator to run the application. Is there any way to shorten this time when making changes, or is it something I just have to deal with?
I downloaded the most recent version of Android for linux (android-sdk_r05-linux_86.tgz). I was trying to use the the Android Ant task(s) for packaging, building, and deploying my code. I should mention that I'm running AMD64, but have the 32-bit libraries installed. The Android Ant tasks are all broken.
First, the start-emulator task never gets the emulator running. It does get past starting adb, but then just sits there.
Second, the SDK is missing the aapt binary in the tools directory. So, the example notepad sample application will not even package correctly.
I have all the dependencies configured for Android. I can run it from the command line just fine.I assume the Ant code is out of sync with the recent SDK updates. Can anyone shed some light on this problem? At this point, I'm considering writing my own Python scripts to interact with the Android SDK. Ugh.
I intend to use the Android Emulator to send/receive SMS. I send SMS to the emulator using the sms send command. I'm aware of emulators being able to converse with each other over SMS but would it possible to receive that the SMS reply sent from an Android Emulator on a external TCP port?
I have a GPS app that gets the GPS fixes and prints it in the ADB logs. The app was working fine with 1.1 SDK. WIth 1.5 SDK emulator I see that the app does not receive any location updates after receiveing the 1st location. I have LocationListener as well as GPSStatusListener aded to my code and none of the listeners gets called. SO my app kind of waits forever for the next location or an error. 05-21 23:27:35.554: ERROR/fta_gps(740): gpsTest.java: 438:onGpsStatusChanged, event 3 05-21 23:27:36.564: INFO/fta_gps(740): gpsTest.java: 294:onLocationChanged 05-21 23:27:36.583: INFO/fta_gps(740): gpsTest.java:581:TimeStamp is: Dec 31, Wed 05-21 23:27:36.593: INFO/fta_gps(740): gpsTest.java:551:DateStamp is: 11:59:59pm 1969 05-21 23:27:36.724: INFO/fta_gps(740): gpsTest.java:359:Location changed : Latitude: 38.99941 Longitude: -77.08595 Altitude: 0.0 Speed: 0.0
after downloading the new Android 2.2 SDK I tested some of my more CPU- intensive code with the integrated emulator, hoping to see some of the promised performance improvements also in the emulator. But to my disappointment the apps run just as fast/slow as with Android 2.1. Did I miss something? Is the JIT not activated or integrated in the emulator of the SDK 2.2?
I'm pretty happy with the performance of the PSX emulator on my new Captivate. But why is there no N64? It seems like the natural progression of things. As much as I like FFVII on the Android, I would like it even more if I could play Ocarina of Time too.
when more than one emulator is running i can't use adb command. If I have only one emulator and type "adb logcat" it works fine but if more than one is running it not runs. so I want to know what is the command for the same..
Is not possible to use a cellular card on a laptop that runs the emulator to access the Internet? if the emulator can access the network if the laptop is using wi-fi or cables I am assuming it can still do the same regardless of what technology is used to connect the laptop to the network correct?
How to know if the application is running on emulator or on a real device? I want to implement a function to detect wifi connection. If the application is running on emulator, just skip the wifi detection, while on real device, the wifi connection check should be done. how to do that?
I would like to have my code run slightly differently when running on the emulator than when running on a device. (For example, using 10.0.2.2 instead of a public URL to run against a development server automatically.) What is the best way to detect when an Android application is running in the emulator?