I am wondering if it is possible to build an .apk-file from an app on my android device, meaning the apk will build and install itself on my phone for instance.
This has to be done without any USB-cables etc!
Best regards
First question: You dont wanna build an apk form existing app, do you?
However, if you have Eclipse, what so ever, on your computer and made the apk file, you can transmit it by e.g by wlan to your smartphone and install it. Beginners could do it like this:
Copy the APK file to your Android’s memory card
Download and install the Apps Installer application from the Android Market
Once installed, the Apps Installer will display the APK files on your memory card.
Click and install your APK files.
Else i guess you need a rooted smartphone to it by hand.
You could use an app like Apk Share to backup apps if that's what you mean.
As far as I know, only AIDE and APDE has managed to successfully done this. I am also looking for a solution to do it, and here's what I found(similar questions on Stackoverflow also didn't get answer):
You might want to cross compile the toolchain itself.
Or you can use a web server that's running linux to compile the apk
So far similar questions only get answers like: hey use AIDE, which is not the answer, here we're looking how to make something like AIDE, not using it. So either cross compile or use a web-based compiler. I haven't found any other solutions
Related
I have been building a custom ROM and I added some pre-build apk's to this ROM.
When I actually flash the ROM I do see that those new "system apps" are preinstalled.
Still I was wondering about the location of the installation?
When I search on the net everyone actually refers to /system/apps/ as the location, and yes the precompiled .apk files are there. Still it's just an apk, a compressed file not an installed app.
Normally when I install an app it's resources/files are placed under /data/data.
So now I would like to know where a pre-build system app gets installed?
In my specific example I actually ship some binaries and some scripts (as assets) with my app, which when being installed as a non-system app, can simply be found under /data/data/my.app.name/bin
The funny thing is that when I start the app after it has been supplied as a system app in my ROM it will actually be able to see the supplied script files, yet when I search for those I cannot find them!
Just curious if anyone knows how a system app installation actually works, what are the performed actions, why can I only find the .apk and not the "decompressed" installation directory?
I am developing an Android application and it is not finished. I would like to test it on multiple devices, locations with various users that are not near me. How can I achieve this? Is there an APK I can send them? Is there a way that is as simple as plugging my phone in and then running the application from Eclipse? Or would I have to make an installer of some sort (I don't know)?
Obviously you can plug your phone(s) into the machine you are developing on and run it from eclipse. This will allow you to test and debug on the devices you have access to.
You can also export an apk from eclipse (see the android pages for instructions). You could put this up on a file sharing site and make it available to your friends. They could then install it, as long as they have authorised "unsigned" apks to be installed in their phone settings.
Assuming you have deployed the app at least once from within Eclipse to debug and test yourself, you will most likely have an APK under the bin directory in your Eclipse project. The file should be .apk. This APK will have been signed automatically by Eclipse with your debug key. This is obviously not the key you use for publishing but for testing among friends I think it's fine.
What I often do is just e-mail that APK file as an attachment to my friends to an e-mail account they have setup on their phone. Then all they need to do on their phone is make sure they have the system setting to allow installation of non-market apps (i.e. not from Google Play), which maybe named something slightly different like "allow 3rd party apps". Then they can simply click on the app attachment in their e-mail, download it and run it and they should automatically be prompted with instructions to install it.
I just used MyAppSharer. (I believe there are other similar apps out there - this is just the one I've used and is very simple/easy:
...you can share by market link or directly share APK (App's full
package)
I just used that, and sent my app via apk file to my coworkers. Can't get much simpler.
Just install the app on your phone via Eclipse, then run this AppSharer, and voila - share it w/ anyone!
You can can easily export your project as an APK in eclipse
File -> Export -> Export Android Project
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 am starting to explore the game development using unity 3d for android. I have downloaded the trial version of unity 3.3. I went through few tutorials.
I have one question that is not answered. In the normal apps which we develop using eclipse, we can deploy onto mobile by copying the apk file. What about unity 3d? How do I get the game onto my phone. I don't want to publish on market.
It is possible to transfer your assets to Eclipse. When it's integrated you can debug via your android phone. Be sure to read the tutorial on Unity's homepage. There is a step by step start-up guide and some more. Following links are worth looking at:
Getting started with Unity and Android
Official - Integrating Unity with Eclipse
Alternative link - Integrating Unity with Eclipse
It would seem that the official "integration" link is broken so I updated with a forum post that covers the same topic. However I recommend to try with the official link first.
Yes, you can simply copy the apk to your device and install it. Unity builds an apk file (and will optionally sign it using a keystore that you provide or let it generate for you). Once it has built that apk you can deploy it normally. You can even have it include a customized manifest in the apk that it builds if you want to (but it generates a nice one from your settings in the unity project by default).
There are two methods for this, as far i understand,
Using Build Settings--> Build, It builds the apk file that can be installed on your device using adb install <apk file path and name>
Using Build Settigs--> Build and Run. Which automatically installs the apk built apk file on your device if connected
go to file
-build
-select android platform(your pc has to have android development kit)
-save your apk
As it is still unanswered I try to close this question
First of all, current version of Unity 5.2 is much more powerfull than version 3.3. mentioned in original question.
What about unity 3d? How do I get the game onto my phone. I don't want to publish on market.
The same way. Unity allows you to publish build as *.apk on ocal machine and then you can just copy it to your phone and install it.
What is more cool, now you can debug your application running on phone. You have to install Unity Remote to the phone and run. Now you can set breakpoints and debug as normally.
If you change your mind and go to publish on Market - Unity will sign your *.apk
Hope this helps someone, good luck!
The Same way you generate the apk through Eclipse like that in unity you need to build the project. For that android sdk and jdk should be installed in your system and u need to show those path in the unity Preferences then u need a google keystore and need to sign in with that key store in the Publisher settings and then u are able to build the apk which will be store in your local system and you can copy that to your mobile and install the apk file.
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.