I have Android Studio 4.1.2 and no matter which project I try to generate a bundle for, when I select "release" and then finish, nothing happens anymore.
I've had this problem before and I had to manually generate and sign my APKs. Now the problem is back again.
Ubuntu 20.04
The release builds are signed using your private key. You can start with configuring your keystore, which will contain the K-V pair.
Refer : Setting up key
Then you can try generating the apk using that signed key.
Refer: Generate signed APK
If you are facing some specific error, can you share that.
Related
this problem was caused because I changed my Mac and having lost the key I had to generate a new one and then with Google assistance we made the new key official.
Previously all the process described here Build and release an Android app worked fine.
The current situation is instead of through the command
flutter build appbundle
the build is signed with another key (I think the debug key) different from the current one as reported by the Play Console during the upload.
The properties in the key.properties file are correct, the path of the new key is correct. I had tried a while ago to clear the cache but nothing to do.
If, on the other hand, I go to open only the 'android' folder fot Flutter project with Android Studio, and I make the build through Build menu the build is signed with the new key, the correct one.
How can I generate a signed bundle?
I want to upload a signed app bundle of Flutter project to Google Play.
Environment
What I did
Go to Build > Flutter > Build App Bundle
Create an aab file and upload it to Google Play.
Get this message: "You uploaded an APK or Android App Bundle that was signed in debug mode. You need to sign your APK or Android App Bundle in release mode."
Go to this page (https://developer.android.com/studio/publish/app-signing#signing-manually)
Find this instruction: "click Build > Build > Generate Signed Bundle/APK".
However, I don't find "Generate Signed Bundle/APK" in "build". (I got stuck here.)
You should open android folder of your flutter project in android studio. Not root directory.
In order to sign Android apps written in Flutter, you can follow Flutter's signing method which can be used with flutter command line interface. If build.gradle is configured correctly, you can use flutter build appbundle (considering you want to generate an appbundle, not an apk) to generate an appbundle. Take a look at this page for detailed information.
You need to click on Build->Generate Signed APK/Bundle in the android studio. Even the DEBUG applications get signed with a DEBUG Key for the purpose for testing by the developers on emulators or real devices by installing it through ADB.
Currrently i am using android 3.1.4 and when i try to generate signed apk using Build->Generate signed apk the apk file stores in
/app/release/app-release.apk
And i also configured the build process to automatically sign your APK using Open Module Settings. plz refer here .
And according to this document the location is
/build/app/outputs/apk/app-release.apk
So which apk file is correct/perfect for the play store publication?
/build/app/outputs/apk/app-release.apk
Or
/app/release/app-release.apk
both the APKs have their specific concerns.
the apk generated using normal build can be found here,
/build/app/outputs/apk/app-release.apk
in general, if you're in the development phase then we do not have to generate every time keystore details and all the security details. cause, we just have to test the changes after bugs resolved. so, the best usage of the application found using normal build is to test and debug your app.
while, the apk generated using generate signed apk can be found here,
/app/release/app-release.apk
signed apk requires keystore and password details. so, it is used to upload for your final build. when, you're 100% sure that the application is as per your requirement, only then you should generate a signed apk.
so, the answer for your question is, It is recommended that you upload an apk, which is generated using "Generate Signed APK".
tl;dr = Both are correct
let me Explain how
There is three types of APK
An unsigned APK
A signed Apk = Unsigned APK + Signing certificate key
A debug Apk = Unsigned APK + Debug certificate key
The automatic build process generate the same APK as you manually generate, if you configured it to automatically sign your APK.
so
If we don't want to sign our APK again and again then we can configure to get signed apk every time we build and the generated APK will go into
/build/app/outputs/apk/app-release.apk
and if we use Generate Signed APK
then the default path. (path can be changed)
/app/release/app-release.apk
Even you can generate an unsigned APK and later sign it and release. its also the same
here is the official documentation where it showing how you can sign an unsigned apk
and the last line of this documentation clearly saying
An APK signed with your private key is ready for distribution
Generally developer's find Generate Signed APK manually is better because maybe you made a change and forgot to build/run your code and picked older app-release.apk so generating manually means you are 100% sure that this one is latest
but if you just build and pick auto created release file then it's also correct and latest one
/app/release/app-release.apk
would be the one you're looking for. I found myself in a similar situation not so long ago
I have a app which I released many years ago on the market. It was originally done in Eclipse. Now i am making a new version of the app in Android studio. I still have the original key and password it was signed with.
Can i update the already published app made in eclipse with the new one im making in Android studio, as long as i use the same key it was signed with?
Thanks
Can i update the already published app made in eclipse with the new
one I'm making in Android studio, as long as i use the same key it was
signed with?
Yes, you can.
Refer the documentation here.
If your app used a debug certificate in Eclipse ADT, Android Studio
continues to reference that certificate. Otherwise, the debug
configuration uses the Android Studio generated debug keystore, with a
known password and a default key with a known password located in
$HOME/.android/debug.keystore. The debug build type is set to use this
debug SigningConfig automatically when you run or debug your project
from Android Studio.
In release mode, Android Studio applies the release certificate used
in Eclipse ADT. If no release certificate was located during the
import process, add the release signing configuration to the
build.gradle file or use the Build > Generate Signed APK menu option
to open the Generate Signed APK Wizard. For more information about
signing your app, see Signing Your Applications.
Yup, you need to use the same key and the same package name.
I have multiple developers working on a project. When they just run the program and then manually get the APK, our testers have to uninstall and re-install for each different developer that publishes the APK (something about debugging key). So I am wondering, what if I make them all use android tools> export unsigned application package? will that solve the problem?
You should create a new debug keystore for your team and check it in to our project repository. Then have each of them open Eclipse > Preferences > Android > Build and change the "default debug keystore" value to point to this new keystore. That way they all use the same debug keystore and you dont have to worry about signing debug builds yourself.
By default eclipse signs it with the default key which is different for different systems and on any android device if you try to reinstall it without first uninstalling it treats it as an update and it requires the update to be signed with the same key with which installed application is signed so follow what Karakuri suggested and it should solve your problem.