[TIMOB-681] Android: Improve SDK detection and reporting.
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | Medium |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2011-04-17T01:53:54.000+0000 |
Affected Version/s | n/a |
Fix Version/s | Release 1.3.0 |
Components | Android |
Labels | android |
Reporter | Don Thorp |
Assignee | Marshall Culpepper |
Created | 2011-04-15T02:34:19.000+0000 |
Updated | 2011-04-17T01:53:54.000+0000 |
Description
To help cut down on the number of support requests, it would be helpful to have builder.py detect and report more information.
1) The SDK field is filled in, if not display a message directing them to the profile page to set the location.
2) If the SDK directory is specified, insure that its directory
contains
a) addons
b) platforms
c) tools
If not, walk backward up the directory tree and reperform the test until you're at the root directory, don't have permissions, or a matching directory is found. If a matching directory is found, display a message that it is configured incorrectly and show the path they should use insted. If not found, ask them to set the path manually and direct them to the profile page.
3) If the SDK directory is correct, verify that the tools
directory contains
a) adb
b) android
If not then display a message saying that the directory does not have the tools required for and they may need to install.
4) If the SDK directory is correct, test for required platform for building. Using the directory mapper test for the presence of aapt and/or dx.
5) Validate the version of Java. Several people are still on Leopard and have 1.5 and not 1.6.
It might be beneficial to output a message for each of the tests that pass (e.g. [INFO] adb : OK, or [ERROR] dx : FAIL)
Also test for valid versions of tools http://developer.appcelerator.com/question/15151/windows-xp-and-classnotfoundexception-with-titanium-dev-121"> Q&A
(from [9d6b034b42c14af2a2126e30b65b1663eed082fa]) added better device/emulator detection in the AndroidSDK module [#681] http://github.com/appcelerator/titanium_mobile/commit/9d6b034b42c14af2a2126e30b65b1663eed082fa"> http://github.com/appcelerator/titanium_mobile/commit/9d6b034b42c14...
(from [b9bfce3a14a62b8cebb0bbe53199e87e1b84e650]) use more tolerant classname / activity name generation (this should strip dots, spaces, and generally anything not allowed in a classname) [#681] http://github.com/appcelerator/titanium_mobile/commit/b9bfce3a14a62b8cebb0bbe53199e87e1b84e650"> http://github.com/appcelerator/titanium_mobile/commit/b9bfce3a14a62...
This commit to developer does most of the validation work:
http://github.com/appcelerator/titanium_developer/commit/23b84ff94dbabdc09f4904a182b690d1a481010a"> http://github.com/appcelerator/titanium_developer/commit/23b84ff94d...
(from [50bfa0b298c29e6a4fc364261233a882139856f2]) check java version on each launch, get prereq back to working like it should (and also check for java 1.6) [#681 state:resolved] http://github.com/appcelerator/titanium_mobile/commit/50bfa0b298c29e6a4fc364261233a882139856f2"> http://github.com/appcelerator/titanium_mobile/commit/50bfa0b298c29...