I'm pretty much newbie to android and I've built a .apk file of my app based on some researches. There is two files:
app-debug.apk
app-debug-unaligned.apk
My question is kinda duplicate of this and this. But honestly still I don't get the idea. All I want to know, should I install which one on my mobile? Or should I buy which one as an application? Also what's the difference of them? You know, this is not very clear:
It is a two step process. The unaligned apk is just an intermediate product.
Can please someone makes me clear about them? Also why the name of them contains debug word? Aren't they final output?
Can please someone makes me clear about them? Also why the name of them contains debug word? Aren't they final output?
No, the debug version contains extra code that allows Android studio to attach itself your app's running process on the phone for debugging purposes e.g. setting breakpoints, inspecting variables. Making this public can potentially allow others to reverse-engineer your app.
If you want to put an apk on the Google Play Store, you'll need to build the signed Release version. This is done from Android studio: Build -> Generate Signed APK... and selecting Release as your build type after accessing your keystore.
As for unaligned, as per the questions linked, it's an intermediate file and should be ignored. The answers in the posts you've linked explain it better than I could.
you will find your output apk in C:\Users\username\Desktop\new\projectname\app\build\outputs\apk
this will be your final apk and ignore all other apk.
Related
I've read that you could automate builds quite a lot, but what about creating an equal project and changing a few things like the app name and colors.xml values for uploading to the Play Store? I am developing many similar apps that are a copy of each other with different names, pictures, icons and colors for quantity distribution at a low price. This would be easy for a website as you could store all changing variables in a single file and then upload that through an FTP Client, but when it comes to Android software, it's obviously different.
I am looking to learn a way to make something like a .bat file or cmdline Command that would let me do this quick, and output a Signed APK ready for upload. Thanks in advance
This is probably against Google Play terms of service. See the Policy site, especially the "Spam and minimum functionality" section.
I have a an updated APK that another developer (hired 3rd party) compiled and sent my way to upload to my Google Play Developers Console to update the previous version. The issue is that he didn't change the version code before sending it to me and leaving the country for several months (without contact). I'm not able to change the manifest (as far as I know) and I get this error when I attempt to upload:
Upload failed
You need to use a different version code for your APK because you already have one with version code 1.
Any thoughts or suggestions as to the best way around this issue? I can't wait for the developer to get back in a few months as the app is only half usable at this point. I'm WAY out of my element - hence the hiring of a third party developer.
Thanks in advance!
There is a tool called apktool located here
http://ibotpeaches.github.io/Apktool/
that may be able to help you. Essentially what it does, is it decompiles the APK file, allowing you to see the files that are inside. Once you decompile the APK, you will see a file called
apktool.yml
where you can change the version code / version name. The tricky part will now be recompiling the APK back to the original state. Apktool can help with that, as long as you have the keystore file and credentials the original developer used to sign the APK with. If you need any help with the specifics of Apktool, let me know!
I spent a while building an app for Android using Android Studio, and now I want to be able to pick up the the apk and send it to my client. My app does not need to get on the google appstore (PlayStore) because it is not a public app. It is designed only for my customer.
Is there no way of doing the deployment (getting the apk) simply by clicking on some (Build) buttons?
I searched the web and found a link from Google that gives me instructions as long as 4-6 pages of things to do. This is insane. I just want to compile my app and use it. I do not want to sign up to be a senator, I do not want to do tricks or do compilations by hand and stuff like that. Is it that hard to make a wizard inside the IDE that asks you and runs the necessary tasks for me?
I used Eclipse previously and I remember I was able to do that from inside the Eclipse IDE
Do you understand my problem?
Is there a SIMPLE way of obtaining the apk of my app so I can send it to my customer?
Thank you
I'm not sure what your definition of "simple" is, but going to Build in the menubar and using "Generate Signed APK..." will do just that. You might have to set up your keys and whatnot, but nothing terribly complicated on the command line or anything, if that's what you're looking to avoid.
The easier way to get an apk, is going to
...\AndroidStudio\[YOUR_PROYECT]\app\build\apk
and there you will find the apk that Android Studio generate and send to the mobile when you debug the app
I have used HTML files to build an application for Android on PhoneGap's website. I want to release it as a free App and signed up with the Play Store and all that. However when I upload it, it says I need to sign my application and such because it is in Debug Mode. I have searched on here and the web for help but I cannot figure out how to sign the App or add Keystore files and such in the PhoneGap Build website.
I checked the documentation for it on there website. I would post the link but I can only post 2 for my reputation. It is quite vague and it says there is more information on the Google Play documentation:
While there was more information it directed me to use something called "Keytool utility" and that seems to be my disconnect. Where would I find this utility so I may use it?
I also checked this question and its answers but it again left me in the dark:
Error signing android app on phonegap build
Here are other questions I have searched in for clues or anything I could use --
I tried this one but I do not know where they are finding this command line. I do not see it on the phonegap build website and they said I didn't have to install anything.
How to generate a signing keystore file for PhoneGap Build within Mac OSX?
Someone suggested to another user on here to follow a tutorial on mobiletutsplus and i am familiar with Eclipse for HTML/CSS but I do not understand their signing section. Am I missing a program here or something?
Download and install the Android SDK, be sure to update it, open a dos command line, and launch the script/exe called keytool which will be located in your Android SDK inside the tools/ folder or the platform-tools/ folder.
When asked how long the certificate should last, select something long like 99 years or 120 years. Be sure to note down all the identifiers you use to generate your key, and be sure to back up your key in a secure location after signing your apk.
If you ever lose that key, there is no way to replace it and you won't be able to update your existing app without losing its current users, its current reviews, its current ratings, and its current ranking it may have garnered over time.
When signing your app, you will be able to do it from the dos command line as well, however, you may prefer to install Eclise and use the IDE itself to help you to import your application, to do the packaging and the signing. Eclipse just uses the same command line tools in the background to package the app and sign it, but it gives you a visual interface to do with, so you may prefer to do it that way. And basically, the way you'd package and sign an Android Cordova/Phone Gap app is exactly the same way you would package and sign a standard Java Android app.
Whoever gave you the idea of viewing a video tutorial, that's probably a good idea. That video is only 3 minutes and 43 seconds long, so it's a good investment of your time. It's not complicated, but there are a bunch of little steps to follow and it's easy to miss one if you're just following what's written on the documentation.
I have an Android project that branched into three different applications, app-1, app-2 and app-3, that apply some customizations. Currently there is a lot of code duplication, making maintenance a nightmare: do the changes in one of the branches, and then merge the other two.
So we create a library project, named app-core, that factors out most of the duplicated code. So far so good.
When I launch this into an emulator where the application was already loaded (before the refactoring), I get this exception:
Re-installation failed due to different application signatures
A different signature? But I just added a line in the .classpath to link to the app-core Java project!
The main question is: are the existing users going to be bothered by this too?
And the side question: Why is it a different signature?
The digital signature is driven by a signing key that exists on the machine that signs the app. If Developer A compiles an app using the standard debug key and installs it in an emulator, then tries installing some other variation of the app -- one signed with a production key, one signed with Developer B's debug key, etc. -- in the same emulator, you will get that error.
The main question is: are the existing
users going to be bothered by this
too?
Do you have the production signing key that you used for the version of the app your existing users are using? If yes, then there should be no problem. If no, you're screwed.
Uninstall the application on the device, then run code again, it will work. It happens for me and I tried same thing, now it is working correctly.
For this problem u need to check that the correct key is used under (Window->Preferences->Android->build).
This u can check from the android.mk file of the app.
And on placing the correct key path , CLEAN and BUILD the project to avoid this error .
I have had the similar kind of issue. If you are installing it on your device then you need to uninstall the app on your device prior to install it from eclipse. It will definitely solve your problem.
Cheers