So I know to debug an app you must build a debug version and set debug-able to true. what if I want to debug another developer app is that possible?
You can debug .apk without actual source code using apktool.
You can find tutorial here.
You cannot DEBUG with the APK only. You must have the source code to build debug. (You may try decompile it, for research reason only)
Related
I lost my shared object file with debug symbols for android app. Is it possible to re-generate it for a particular version of the app?
I have been told that its not possible. Even if I try to use the same code (that is in production) and re-generate build, its highly unlikely that I will be able to use generated .so file to debug my app which is already in prod
The android doc mentions:
Known issue: When attaching debug symbols to an APK, both the APK and debuggable .so files must be built using the same workstation or build server.
I am not sure what this means though. Can someone please help me in understanding this?
Thanks in advance.
I have an application that I built in Android Studio. It used to run just fine and has been released to the store in the past, but for some reason the Release APK won't run when installed. The debug runs fine run via phone or emulator. The debug and release builds both use the same keystore file.
Release mode, the APK crashes immediately on open. I suspect it is a keystore issue, but can't be positive??? Does debug bypass using my keystore even though I have it set?
Anything else that I could possibly try?
NOTE: I have another flavor that uses a different keystore and that one works fine.
As requested here as answer :)
Connect the phone to the pc via USB, have android studio open, go to Android Monitor, select your device and look at logcat. I am pretty sure, the exception is there, just waiting for someone to read it. Android Studio logcat logs even store apk's. so publish the release to your phone and just connect it
Thank you, #Adam
Have you used proguard?
If yes I am dam sure its your proguard issue. I would suggest you please read proguard guideline before using it.
It's not proguard. I spent almost two months with this issue of debug build working while release build doesn't work and messed with the proguard files countless times. The problem was instant run. After removing all references to instant run, it finally worked.
You may be able to get additional information by enabling the debugger during release mode. Take a look at this SO thread: Enable LogCat on Release Build in Android Studio. That way you'll be able to see a traceback of the error that's being thrown.
In my case, while opening the release APK the app was crashing. The best way is to see the logcat for knowing the cause of Error. If you have not written any Proguard rules then just goto your build.gradle and change your "minifyEnabled false". This is because ProGuard is obfuscating your APK to make it harder for hackers to reverse-engineering your APK. If you think obfuscation is not needed, change this in your Gradle configuration.just look here.
I have got an App installed on my phone (not rooted), this App was in Development at the time and installed in Debug mode.
I would like to know how to get the Java Code of this App, since it's in Debug mode.
I'm guessing some ind of reverse engineering but I'm not expert on this.
You need the APK (the application file) to do that. Since you are not rooted, you will not be able to get the APK.
With the APK, you can use tools like: www.decompileandroid.com/
What are some notable differences that a developer should take note?
The first one is debuggable and the second one isn't.
That means that the first one will output all your Log.d's and the production version won't.
Also, by default, debug versions are compiled without ProGuard while production builds are compiled using the default ProGuard rules
you may take a look at those posts
Android Studio: Build type release /debug - what relevance does this have?
also the officiel documentation is clear and hepful
http://developer.android.com/tools/publishing/app-signing.html
hint
debug when you are working on the project
release when you are about to publish the app
good luck !
One of the most important differences is that debug version of app is not prguarded so it can be reverse engineered. The reason why it's not proguarded is because you can track your logcat outputs easily without need to check mapping files.
In debug mode, you sign your app with a debug certificate generated by the Android SDK tools. This certificate has a private key with a known password, so you can run and debug your app without typing the password every time you make a change to your project.
I have Uploade the App on android market few days ago.
Now i have make another version of that application. I have Sign that Application with the same keystore and with the same package and Application name.
The Only things i have change is the version code of that application.
After that, On Android market i got the option of the upadte of the application.
But if i am going to update that file, the error is generate like the Package file was not sign correctly. . . So where is the problem ???
Please let me know about it. . .
Please I realy need help. . .
Have you changed the version name also. make sure you had done that and again try to sign the app using the same keystore and password. the problem will get solved. also make sure you have the same base package name and before.
It sounds like you uploaded a debug build, rather than a release build.
I am totally agree with #Sean Owen answer that you may have tried to upload the debug build.
Still, let me provide you additional information if you forgot to prepare release build and yes dont forget to sign this APK with the same keystore that you have signed with previously.