Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-5280] Android: Changing the name attribute of the tiapp.xml causes two applications to be installed.

GitHub Issuen/a
TypeBug
PriorityLow
StatusReopened
ResolutionUnresolved
Affected Version/sRelease 1.8.0
Fix Version/sn/a
ComponentsAndroid
Labelsandroid, androidbuild, attribute, cb-tooling, engSchedule, install, name, tiapp.xml
ReporterAlan Vaghti
AssigneeEric Merriman
Created2011-09-12T17:22:58.000+0000
Updated2020-02-05T07:34:00.000+0000

Description

Steps to reproduce: 1) Import attached TiTest 2) Change the name attribute of the tiapp.xml from TiTest to TiTestTwo 3) Launch the project on device Expected results: One project named TiTestTwo is installed on the device Actual results: Two projects named TiTestTwo are installed on the device. However, when you go to Settings | Manage Applications, TiTestTwo only appears once. Uninstalling TiTestTwo will remove both TiTestTwo icons. Strangely this does not occur with the attached HelloWorldApp. The differences between the two is that the HelloWorldApp has the default android attributes: http://schemas.android.com/apk/res/android"/> while the TiTest app has modified android attributes to lock the splash screen in landscape mode. TiTest's app.js is commented out for splash screen testing. HelloWorldApp is a iPad/iPhone/Android project, while TiTest is Android only.

Attachments

FileDateSize
HelloWorldApp.zip2011-09-12T17:22:58.000+00005001801
TiTest.zip2011-09-12T17:22:58.000+00007935433

Comments

  1. Chris Barber 2013-08-06

    I could not reproduce. I tested with Titanium SDK 3.1.1.GA with both a Nexus 7 running 4.3 and a HTC Sensation running 2.3.4.
  2. Allen Yeung 2013-10-18

    This bug is actually invalid. I was able to reproduce and this is what's happening: One the first try, there is an entry inside tiapp.xml
       				<activity android:alwaysRetainTaskState="true" android:name=".TitestActivity" android:configChanges="keyboardHidden|orientation" android:screenOrientation="landscape" android:theme="@style/Theme.Titanium">
       					<intent-filter>
       						<action android:name="android.intent.action.MAIN" />
       						<category android:name="android.intent.category.LAUNCHER" />
       					</intent-filter>
       				</activity>
       
    This will overwrite the TitestActivity which gets generated since the 'name' is titest. In the second time around, the generated activity is actually 'titesttwo'. As a result, the entry mentioned above will NOT overwrite the generated activity since they were different names. It will be treated as a separate node. Since there are two activities that are specified with the launcher flags, there will be 2 entries of that in the launcher.
  3. Chris Barber 2020-02-05

    [~ahutton] Here's the related ticket for iOS: TIMOB-6583.

JSON Source