I can't export to Release!

Hi I’m trying to export my app for release in Andrpoid with this command: fuse build --target=Android —release but I get my APK with -debug.apkand I can’t upload the app. I already create my release.keystore like this:

keytool -genkey -v -keystore release.keystore \
    -alias application -keyalg RSA -keysize 2048 -validity 10000

and I put this on my unoproj file:

"Key": {
  "Alias": "application",
  "AliasPassword": "MyPassword",
  "Store": "release.keystore",
  "StorePassword": "MyPassword"
  }

But the release apk is not genereted! What can be?

It should be -crelease as far as I know (short for --configuration=Release)

Not sure why it happily goes ahead and builds, but it might misinterpret -release as -r for run perhaps…

I also try with uno build --target=Android --configuration=Release and uno build --target=Android -crelease but nothing.

Fuse create a Release folder but the apk file is signed by -debug.apk. I try to upload this version on Google Play but I get an error (that is a debug version)

Looks like there could be a problem with your project file.

You need to set Android.Key, or wrap the Key inside an Android object, like this:

"Android": {
    "Key": {
      "Alias": "application",
      "AliasPassword": "MyPassword",
      "Store": "release.keystore",
      "StorePassword": "MyPassword"
    }
}

You can look at internals by passing -p to uno build, you should see Project.Android.Key.Alias and so on there when things are working.

It’s a use case to make release builds without a valid signing key – that’s why you don’t get an error about the missing key, but we could possibly give you a warning to avoid confusion. Release builds without a key will build the C++ code in “release mode”, but the APK is still signed using a debug key.

(--release is undocumented, but also the same as --configuration=Release / -crelease)

My project File looks like this:

{
  "Title": "xxxx",
  "RootNamespace":"xxxx",
  "Version": "1.1",
  "VersionCount": 2,
  "Mobile": {
    "Orientations": "Portrait"
  },
  "Android": {
      "GooglePlay": {
          "SenderID": "xxxxx"
      },
      "Key": {
        "Alias": "xxx",
        "AliasPassword": "xxxx",
        "Store": "release.keystore",
        "StorePassword": "xxxxx"
      },
      "Icons": {
        "LDPI": "Assets/android/mipmap-ldpi/ic_launcher.png",
        "MDPI": "Assets/android/mipmap-mdpi/ic_launcher.png",
        "HDPI": "Assets/android/mipmap-hdpi/ic_launcher.png",
        "XHDPI": "Assets/android/mipmap-xhdpi/ic_launcher.png",
        "XXHDPI": "Assets/android/mipmap-xxhdpi/ic_launcher.png",
        "XXXHDPI": "Assets/android/mipmap-xxxhdpi/ic_launcher.png"
      }
  },
  "iOS": {
    "Icons": {
      "iPhone_29_2x": "Assets/ios/Icon-Small@2x.png",
      "iPhone_29_3x": "Assets/ios/Icon-Small@3x.png",
      "iPhone_40_2x": "Assets/ios/Icon-40@2x.png",
      "iPhone_40_3x": "Assets/ios/Icon-40@3x.png",
      "iPhone_60_2x": "Assets/ios/Icon-60@2x.png",
      "iPhone_60_3x": "Assets/ios/Icon-60@3x.png",
      "iPad_29_1x": "Assets/ios/Icon-Small.png",
      "iPad_29_2x": "Assets/ios/Icon-Small@2x.png",
      "iPad_40_1x": "Assets/ios/Icon-40.png",
      "iPad_40_2x": "Assets/ios/Icon-40@2x.png",
      "iPad_76_1x": "Assets/ios/Icon-76.png",
      "iPad_76_2x": "Assets/ios/Icon-83.5@2x.png"
    }
  },
  "Packages": [
      "Fuse.Animations",
      "Fuse.BasicTheme",
      "Fuse.Themes",
      "Fuse.Controls",
      "Fuse.Designer",
      "Fuse.Drawing",
      "Fuse.Drawing.Primitives",
      "Fuse.Effects",
      "Fuse.Elements",
      "Fuse.Entities",
      "Fuse.Gestures",
      "Fuse.Navigation",
      "Fuse.Shapes",
      "Fuse.Triggers",
      "Fuse.Reactive",
      "Fuse.Android",
      "Android",
      "Fuse.Desktop",
      "Fuse.iOS",
      "Fuse.Vibration",
      "Fuse.UserEvents",
      "FuseCore",
      "Uno.Collections",
      "Uno.Geometry",
      "Fuse.PushNotifications",
      "Fuse.Scripting",
      "Uno.Threading",
      "Fuse.Camera"
  ],
  "Includes": [
    "*"
  ]
}

What is wrong?

(Works after reboot + uno clean)

We’ll see if we can add a warning, or automatically remove problematic files from the build directory to reduce problems like this in the future.