I made an application and took the .apk file from the bin folder ( eclipse project ). I installed it on my mobile which i used as an emulator earlier and it worked just fine. However when i put the file on a friends mobile it said "cant open package" or something similar when i tried to install the application.
What could be wrong since it worked on mine? The API level was 10, so nothing fuzzy about that.
I've read something about keystore but i dont understand the meaning and function of em.
More than likely your friend phone doesn't accept unsigned packages.
You can either:
A. Sign you application
B. Enable untrusted instals on those phones via Settings > Applications > Unknown Sources
I had same problem.
Test if the size of copied APK file is same as size of file on your PC.
If they are not same, copy the APK file using a RAM reader to your PocketPC memory.
Related
I've developed a simple Android project on Eclipse. Then I export the application as unsigned application onto my PC. Then I copied the application on to the SD card. Then I tried to install the apk file by clicking on it. I also made ensure that I can install applications from sources other than from market. But my application while installing says that application not installed. I've tried one solutions in stack overflow which suggests to install AppInstaller and try from there. Even though it's not working.
What can be the problem with the installation?
Any ideas ?
You need to sign the app, because Android will refuse to install unsigned apps. The debug certificate will also work, but better create one even if you don't intend to release to Play Store, etc. In case you do decide to publish later, make sure you create a certificate with the required validity (more than 25 years), check the guide for details.
After run a successful build ( Project -> Clean or Project -> Build All do the trick) go in your bin folder(automatically generated every time you build) and you will have an .apk file. Browse to that file in your Windows explorer (or whatever you use) and keep that folder. I eclipse show the ddms perspective (Window -> open perspective -> other -> android/ddms) pick the file explorer, drag your apk file over there, and run it on the phone!
You might be installing the app on the device which have lower OS version than the app supported version
Check android:minSdkVersion in you AndroidManifest.xml
<uses-sdk android:minSdkVersion="3" android:targetSdkVersion="8" />
And your device OS version
I have created an Android Calculator app in Eclipse. If I want to run my app I need run it through Eclipse. But I want to run my app without Eclipse in any system as normal apps run, just download it and run.
If any one knows how to do this, please help me.
You probably want to take the .apk file in your bin folder. This file is your entire app packaged together.
You can run & install this on other Android phones, but they will have to have enabled "unknown sources" in application settings.
Otherwise, you'll have to publish to the app store, from where the entire world that owns an Android device can download it directly.
app run without eclipse in any system as a normal apps run
may I know how the normal apps run?
it need any emulator or device.
you can run the .apk file without eclipse also!.
download the Android SDk and create an emulator thru avd command and install any app.
the other way you can do by 3rd party software called BlueStacks App Player
this software is only for mac and Windows download here
Inside bin folder of your Calculator app project located on Hard disk there will be .apk file which you can transfer to your device then open file browser whichever you have that will allow you to install and run your application cheers.
Do you mean you want to install it on any device from your system, without the need to run Eclipse?
The command would be something like "adb install bin/MyCalculator.apk". Once you do that, your app is installed just like any other.
Do you mean you want anybody to install your app on their device? Your best bet is to just put it on the Android Market. Don't forget to generate a real signing key (don't use the Eclipse debug key) and sign your app properly before uploading it to the market.
If you don't want to use the market, then you can put the apk file on any web page, and have people download it with their browser. Then they go to their device settings and enable "Unknown sources". After that, they can run their browser, go to "Menu > Download" and select the apk they just downloaded.
Or, you can send the apk file to someone directly, and have them attach their device to their computer, enable USB, and copy the apk to their /sdcard directory somewhere. Then they launch a file browser (they'll have to install that first) and navigate to the apk file. I think that will allow them to install the apk on their device.
I think that should cover it.
You should generate the .apk file, and install it on any device you want..
http://www.technobitez.com/how-to/create-apk-files-for-android-phone
How to build an APK file in Eclipse?
I do understand that a .apk file is created in the bin folder of an android project, when the project is run.
I have a question about this: is it possible that there would be any difference in the functionality of an app installed via eclipse (as in connecting the phone to the computer and uploading and installing the app on the phone) versus installing the app by downloading a .apk placed on a secure server?
The reason I ask this question is that I usually put up the .apk file on a secure server and the testing team downloads and installs the app for testing purposes. The testing team has started to report app crashes when accessing this app. However, I don't seem to be seeing the any such problems (even while replicating the same scenarios) with the app when I install it on the phone via a cable connected to the computer.
You might be falling into a caching issue. Make sure you get the QA team a new filename of the apk on the server to ensure that they never get a cached apk when downloading it. Also maybe create a md5 sum of the apk locally and run md5 on the apk on the server after upload to ensure it is the same.
e.g. use
md5 yourapk.apk > yourapk.md5
on your machine and the server..
Most likely you QA team has found issues that are specific to the device or Android platform version they test with. Try with your apk with the same hardware in your dev environment.
I don't see how that would possible. The Eclipse ADT plugin just calls the executables in the specified Android SDK location on your hard drive and the .apk gets generated only once when you use Eclipse to install the application to your plugged phone.
Unless you're packaging the two versions in a different way, that shouldn't be possible. My guess is that your testing team has just found bugs specific to the runtime environment (the phone). Maybe a different version of Android, conflicting custom ROM, etc.
No, there is no difference , if the apk on the secure server is as latest as you have on your computer.
I would recommend you to clean your project before uploading the apk to the server.
Regarding the crashes, i guess there are some location based problems.
Also check if you are uploading the apk from your workspace. or some other older version which is located in different place that you are not using anymore.
I compiled and ran a project on my phone through eclipse which is still install there currently. While doing some directory cleaning I accidentally deleted the source code so the only remaining version of the code is in the apk installed on my phone. Is there anyway to export the app back to my computer?? It isn't signed or anything either.
Thanks!
You can set up to be able to copy files on/off your phone via the USB connection - heres where you can look to find it:
Does Android keep the .apk files? if so where?
Then after you get the .apk off look at these questions for decompiling:
Is it possible to decompile an Android .apk file?
decompiling DEX into Java sourcecode
You CAN pull the APK off of the phone, but it's going to be Java Bytecode, not your source code (regardless of whether or not it's signed). You would have to reverse-engineer the classes to retrieve your code. If it's not a VERY large app, I'd say your time would best be spent simply re-creating it.
I am trying to distribute my application to some people for testing.
I have installed it on my Desire directly from eclipse and it works fine.
To create an APK-file, I choose "Export Unsigned Application Package" directly from eclipse, and then an APK file was created. I emailed it to myself and downloaded the file to the SD-card. But when I try to install it (using ES File Browser), I get a message saying "Application not installed".
(I have already checked the "Allow installation of non-Market application" on my phone)
Any ideas?
Yeah I found the problem, see my answer below:
I did not know that even with the "Allow Installation of non-Marked application", I still needed to sign the application.
I self-signed my application, following this link self-sign and release application, It only took 5 minutes, then I emailed the signed-APK file to myself and downloaded it to SD-card and then installed it without any problem.
I did not know that even with the "Allow Installation of non-Marked application", I still needed to sign the application.
I self-signed my application, following this link self-sign and release application, It only took 5 minutes, then I emailed the signed-APK file to myself and downloaded it to SD-card and then installed it without any problem.
You cannot install an unsigned application on a phone. You can only use it to test with an emulator. If you still want to go ahead, you can try self-signing the application.
Also, since you are installing the application from an SD card, I hope you have the necessary permissions set. Do go through stackoverflow.com and look at questions regarding installation of applications from an SD card - there have been many and they have been asked before.
Hope that helps.
You can test the unsigned-apk only on Emulator. And as its step of application deployment and distribution, you should read this article atleast once, i suggest: http://developer.android.com/guide/publishing/app-signing.html.
For your question, you can find the below line in above article:
All applications must be signed. The system will not install an application that is not signed.
so you have to have signed-apk before the distribution of your application.
To generate Signed-apk of your application, there is a simple wizard procedure, click on File -> Export -> Android -> Export Android application.
Just follow these steps to transfer the apk onto the real device(with debugger key) and which is just for testing purpose. (Note: For proper distribution to the market you may need to sign your app with your keys and follow all the steps.)
Install your app onto the emulator.
Once it is installed goto DDMS, select the current running app under the devices window. This will then show all the files related to it under the file explorer.
Under file explorer go to data->app and select your APK (which is the package name of the app).
Select it and click on 'Pull a file from the device' button (the one with the save symbol).
This copies the APK to your system. From there you can copy the file to your real device, install and test it.
Good luck !
I cannot install an apk build with "Export Unsigned Application Package" Android SDK feature, but i can install an apk browsing the bin directory of my project after the project buid. I put this apk on my sd on my HTC Wildfire phone, select it and the application install correctly.
You need to allow your phone to install unsigned apk.
Good Luck.
You could also send your testers the apk that is signed with your debug key. You can find that in the bin folder of your project after building in debug mode.
An unsigned application cannot be installed. When we run directly from eclipse, that apk is signed with debugger key and can be found in bin\ folder of the project. You can use that for test purpose distribution also.