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

Android Build: Validate command line arguments and tiapp.xml settings



      • validate command line options
        • --alias
        • --android-sdk
        • --avd-abi
        • --avd-id
        • --avd-name NEW!
        • --avd-skin
        • --device NEW! (TIMOB-12661 CLI: Support adb's -s option for pointing a build to a specific emulator or device)
        • --debug-host
        • --deploy-type NEW! (TIMOB-9139 Android: Tooling: How to set the deploytype)
        • --key-password NEW! (TIMOB-6423 builder.py should accept an alias password)
        • --keystore
        • --output-dir
        • --store-password (formerly --password)
        • --target (emulator, device, dist-playstore)
      • if 64-bit Linux
        • make sure i386 architecture has been added (not sure how to check, but to add run "dpkg --add-architecture i386")
        • make sure ia32-libs package is installed (TIMOB-13520 Android Emulator: improve error message from missing ia32-libs dependency on linux)
        • make sure /usr/lib/libGL.so exists
      • enforce sdk dependencies
        • check java version is <=1.6 (TIMOB-5010 Latest version of Java unusable for building Android projects)
      • check that build directory is writeable
      • read tiapp.xml
        • read proguard flag (TIMOB-2782 Android: Generate / Run a Proguard configuration based on API usage)
        • determine tool api level
          • ensure correct version fallback (TIMOB-11603 Android: invalid android path in bash profile results in project creation error, improve error message)
        • packageid must contain at least one period (prepend "com." if no periods present)
        • appversion should be the tiapp.xml <version> and is injected into the AndroidManifest.xml (TIMOB-559 Android: Appversion never taken from tiapp.xml)
        • default minimum Android SDK is 2.3.3 (10)
        • default target Android SDK is latest or 2.3.3 (10)
        • classname is the app name, capitalized, only alpha-numeric and _, prepend _ if starts with a number
        • make sure deploy type is correct
        • validate "ti.ui.defaultunit" property (must be 'system', 'px', 'dp', 'dip', 'mm', 'cm', or 'in') (TIMOB-9682 Android: Packaging:No warning displayed for default system value of 'ti.ui.defaultunit')
        • get "ti.android.loadfromsdcard" property
        • get "ti.android.compilejs" property
        • get "ti.android.include_all_modules" property???
      • scrub debugger/profiler args
      • find the android sdk home
      • validate icon from tiapp.xml
      • detect modules from tiapp.xml
        • if required module is not found, fail (TIMOB-9930 Android: Packaging: With a non-existing module added to the project in the tiapp.xml,app packages without error and gets installed on device) (TIMOB-14064 Android build select wrong module jars for dex build)
        • load module hooks
          • allow module hooks to modify classpath (TIMOB-14170 Android: Provide mechanism for partners to specify the classpath for builds)


          Issue Links



              • Assignee:
                cbarber Chris Barber
                cbarber Chris Barber
                Allen Yeung
              • Watchers:
                1 Start watching this issue


                • Created:

                  Backbone Issue Sync

                  • Titanium SDK/CLI <> Titanium Mobile
                    Synced with:
                    Sync status:
                    Last received:
                    Last sent:

                    Git Integration