Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-14973] Android Build: Validate command line arguments and tiapp.xml settings

GitHub Issuen/a
TypeStory
PriorityHigh
StatusClosed
ResolutionFixed
Resolution Date2013-09-07T02:25:35.000+0000
Affected Version/sn/a
Fix Version/s2013 Sprint 18 Core, 2013 Sprint 18, Release 3.2.0
ComponentsAndroid, Tooling
Labelsandroidbuild, ay-verified, cb-verified
ReporterChris Barber
AssigneeChris Barber
Created2013-08-27T23:27:50.000+0000
Updated2017-03-14T18:07:51.000+0000

Description

* 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 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)

Comments

  1. Chris Barber 2013-09-07

    Titanium CLI pull request: https://github.com/appcelerator/titanium/pull/55 node-appc pull request: https://github.com/appcelerator/node-appc/pull/56 Titanium Mobile pull request: https://github.com/appcelerator/titanium_mobile/pull/4658
  2. Chris Barber 2013-09-07

    To test: 1) Update to Titanium CLI 3.2.0 (master) 2) Pull the my timob branch into your timob 3) scons build_jsca=0 node-appc-branch=master 4) Install the built SDK 5) Pull the latest node-appc master 6) npm install from the node-appc dir 7) Merge in my changes 8) Run "./forge test version" to test the node-appc changes To test the timob and titanium cli PRs: 9) Manually drop node-appc into /path/to/titanium/mobilesdk/osx/3.2.0/node_modules/node-appc 10) ti sdk select 3.2.0 11) run various Android builds with various tiapp.xml settings
       ti build -p android
       ti build -p android -T device
       ti build -p android -T dist-playstore
       
  3. Lee Morris 2017-03-14

    Closing ticket as fixed.

JSON Source