Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-8800] Android: Failure building with Java 1.7.0 (Java 7)

GitHub Issuen/a
TypeStory
PriorityHigh
StatusClosed
ResolutionFixed
Resolution Date2012-05-08T12:35:09.000+0000
Affected Version/sRelease 2.1.0
Fix Version/sRelease 2.1.0, Sprint 2012-10 Core
ComponentsAndroid
Labelscore
ReporterAllen Yeung
AssigneeBill Dawson
Created2012-04-19T14:04:03.000+0000
Updated2017-03-08T00:41:48.000+0000

Description

We currently do not check to make sure the user has jdk 1.6.0 installed in our build scripts. We should add this feature since there are known issues with using jdk 1.7.0 (at least for windows). We need to determine the following requirements in this task, and then notify studio in regards to these new requirements. - Minimum/Maximum version of jdk required - Where to grab this particular version of sdk (from oracle?) - Narrow down if the jdk requirements affect ALL platforms (linux,osx, windows). We know there are issue with jdk 1.7.0 in windows, but this needs to be verified in other platforms - Mechanism for reporting this error from the build scripts (ideally studio would be able to take this error and prompt the user to resolve it accordingly in studio) After this ticket has been resolved, we should file a separate ticket on the studio side for them to take action (and probably sync up with them regarding the requirements).

Comments

  1. Bill Dawson 2012-05-02

    Just a few notes for myself... * On my Lion system, java -version and javac -version both report 1.6.0_31. That's the Apple-supplied update for the recent [Flashback scare](http://support.apple.com/kb/HT5242). * Oracle's JDK download site: http://www.oracle.com/technetwork/java/javase/downloads/index.html * The latest JDK for "Java SE 6" (as-of this moment) is 1.6.0_32. The jump from _31 to _32 does not appear to be related to a security bug. * The latest JDK, period, is for "Java SE 7u4", and the latest JDK therein is thus 1.7.0_4. To test/use this on a Mac, you'd have to get it manually. * In OS X, use Applications -> Utilities -> Java Preferences to set the preferred JVM.
  2. Bill Dawson 2012-05-07

    I've changed the title to reflect the original problem, and since I decided to go about this ticket in such a way as to support Java 7.
  3. Bill Dawson 2012-05-07

    Testing Notes

    There are basically two phases of testing.

    The "Did Bill Break Anything" Phase

    * Build the SDK (i.e., scons) with Java 1.6 (what you likely have on your system, so basically you're testing that I didn't break what already worked.) * Build and test a Titanium Mobile project in Android with Java 1.6. * Rinse and repeat for Ubuntu and Windows 7. Then ...

    The "Java 7" Phase

    * Download and install JDK for Java 7 (i.e., 1.7 in the weird world of Java numbers) http://www.oracle.com/technetwork/java/javase/downloads/index.html. * Build (i.e., scons) the sdk with jdk 1.7. * Build and test a Titanium Mobile project in Android with jdk 1.7. * Rinse and repeat on Ubuntu and Windows 7. NOTE: Testing JDK 1.7 in OS X means using Applications -> Utilities -> Java Preferences to set the preferred to Java 7 before building and testing. In Windows and Ubuntu it means setting the JAVA_HOME environment variable to point to the jdk 1.7 folder.
  4. Bill Dawson 2012-05-07

    After this is ready, we should turn to the Studio team and let them know they can trust prereq.py, perhaps even on their Preferences page for Titanium Mobile (i.e., to give a warning if prereq.py exits with exit code !=0).
  5. Lee Morris 2017-03-08

    Closing ticket as resolved.

JSON Source