Uploaded image for project: 'Titanium SDK/CLI'
  1. Titanium SDK/CLI
  2. TIMOB-27746

Android: Apps built with 9.0.0 can't upload to Firebase App Distribution when including certain modules

    Details

    • Story Points:
      7
    • Sprint:
      2020 Sprint 3

      Description

      (This issue was caught before release.)

      Summary:
      You cannot upload an Android app built with a pre-release version of Titanium 9.0.0 to Firebase App Distribution (used for beta testing) if it includes one of the following modules.

      • aca
      • cloudpush
      • ti.admob
      • ti.barcode
      • ti.geofence
      • ti.identity
      • ti.map
      • ti.playservices

      Result:
      Google's website shows the following error when attempting to upload the APK.

      There was an error processing your distribution. Ensure you are uploading a valid IPA or APK and try again.

      Note:
      You can upload the APK to Google Play without issues. You can install/run the APK on devices as well. So far, this only appears to be an issue with Firebase.

      Steps to reproduce:

      1. Build kitchensink-v2 for Android.
      2. Go to the Firebase Console webpage: https://console.firebase.google.com
      3. Select a Firebase project. (Create one if you don't have one.)
      4. Go to the "App Distribution" section.
      5. Drag-and-drop the built APK to the Releases section.
      6. Notice the upload errors out with the message shown above.

      Cause:
      Any module that is set up to inject "AndroidManifest.xml" settings via its "timodule.xml" will have this problem. It's an issue with the XML merge handling code which is wrongly injecting xmlns:android="" namespace declarations within the child elements. Google requires the android namespace to be declared in the root <manifest/> element and will throw a fit if you add it to the child elements too.

      This is really a bug in the node.js "xmldom" module. It's doing a string reference equality check via == instead of a string value equality check via ===.
      xmldom - dom.js#L951

        Attachments

          Activity

            People

            • Assignee:
              jquick Joshua Quick
              Reporter:
              jquick Joshua Quick
              Reviewer:
              Gary Mathews
              Tester:
              Lokesh Choudhary
            • Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Backbone Issue Sync

                • Backbone Issue Sync is enabled for your project, but we do not have any synchronization info for this issue.

                  Git Integration