id | title |
---|---|
Preview 1 |
Disqus - The #1 way to build an audience on your website. No to anything like TypeIt4Me etc. Installed plug-ins are: Google Talk Browser Plugin Shockwave Flash Default Plug-in Java Embedding Plugin 0.9.6.4 QuickTime Plug-in 7.5.5 Flip4Mac Windows Media Plugin 2.2.1 Silverlight Plug-In DivX Content Upload Plug-In DivX Web Player Google Update One-Click Installer Plugin Google Update One-Click Deluxe.
The first preview was done on August 18th, this initial release containsenough for our users to get a taste of what MonoDroid will be like, but thereare still various loose ends that wont be resolved for this preview. Thefeatures include:
- Visual Studio 2010 plugin to develop, debug and deploy Android applications.
- MonoDroid runtime for Android devices.
- Mono binding to access the Java class libraries that are part of Android from C#.
- Core samples to get started with Monodroid
- Basic Activity MonoDroid Visual Studio templates.
- Based on a Mono 2.6 profile.
- Basic documentation generated from our Java to C# translation tools.
- The Java Embedding Plugin was written by Steven Michaud (smichaud at pobox.com)
I) What is the Java Embedding Plugin?
The Java Embedding Plugin is a utility that allows other web browsersthan Apple's Safari to use the most recent versions of Java on Mac OSX. When used together with an updated version of Mozilla's MRJ PluginCarbon (included in this distribution), the Java Embedding Plugin'sfunctionality is available to current releases of Firefox, Seamonkeyand Camino -- and is in fact bundled with them. But in principle anyweb browser could use the Java Embedding Plugin to add support forJava 1.4.2, J2SE 5.0 and (where available) Java SE 6.
Download Java Embedding Plugin 0.9.6.4 For Mac
Apple's older Java versions (1.3.1 and earlier) have a documented APIfor use by browser developers -- the Java Embedding API, exported bythe Java Embedding Framework. But until very recently Apple didn'tprovide a realistic way for non-WebKit browsers to support more recentJava versions. This was an unfortunate state of affairs, and I'vedone something about it. (For about a year Apple has been working ona port of Oracle/Sun's Java Plugin2 to OS X, which was included intheir last few Java Updates for OS X 10.5.X and 10.6.X. This doessupport a standard API (the NPAPI), and does (in principle) work inall browsers. But, though the latest version is a vast improvement onprevious ones, it isn't yet quite 'release quality'.)
II) Requirements
The current version (0.9.7.5) of the Java Embedding Plugin and the MRJPlugin JEP requires Mac OS X 10.4.11 or higher. Older versions(0.9.6.5 and earlier) required Mac OS X 10.2.8 or higher. (Droppingsupport for Mac OS X 10.3.X and 10.2.8 made it possible to greatlysimplify building the Java Embedding Plugin from source.)
As mentioned above, the Java Embedding Plugin has for the last fewyears been bundled with current Mac distributions of all the Mozillabrowsers -- Firefox, Seamonkey and Camino. So if you're using one ofthese browsers, you don't need to install the Java Embedding Plugin.But you may wish to replace the bundled version of the Java EmbeddingPlugin with a more recent version (for which see thenext section).
The Java Embedding Plugin currently isn't compatible with (and isn'tbundled with) Firefox 4 (currently available only in pre-releasebuilds). I'm working on a version of the JEP that will be compatiblewith Firefox 4.
III) Installing the Binaries
You don't need to do this unless you're replacing the bundled versionof the Java Embedding Plugin (in a Mozilla browser) with some otherversion.
Download Java Embedding Plugin 0.9.6.4 For Mac Os
Note that these instructions have changed from those included inprevious JEP versions' Readme files. This is because Apple madechanges in their most recent Java Updates (on OS X 10.5.X and 10.6.X)that cause the previous instructions to no longer work properly.
For each of the browser binaries you wish to update:
- Control-click (or right-click) on the browser binary and choose 'Show Package Contents'.
- Browse to the
Contents/MacOS/plugins
folder and deleteJavaEmbeddingPlugin.bundle
andMRJPlugin.plugin
. - Drag copies of the new Java Embedding Plugin binaries to the
Contents/MacOS/plugins
folder.
Mozilla browsers always prefer the version of the Java EmbeddingPlugin in their Contents/MacOS/plugins
folder to whateverversion (if any) is available in /Library/Internet Plug-Ins
.
Java Embedding Plugin Firefox
The versions of JavaEmbeddingPlugin.bundle
andMRJPlugin.plugin
(in Contents/MacOS/plugins
or/Library/Internet Plug-Ins
) need to match each other. Tosee either binary's version, control-click (or right-click) on it andchoose 'Get Info'.
IV) How Does the Java Embedding Plugin Work?
The Java Embedding Plugin works at a low level -- the same as that ofApple's old Java Embedding Framework (which still provides Java 1.3.1functionality on OS X Tiger) and the 'OJI Plugin' that Sun makesavailable with its Java Plugin on other platforms (but which Applechose not to port). Basically, it uses the (C-based) Java NativeInterface to bootstrap the JVM, then uses Java code to create anenvironment that can host an applet.
The Java Embedding Plugin uses many undocumented APIs in the AppKitFramework and in Apple's Java Virtual Machine (whose code is in theJavaVM Framework). I make no apologies for this -- without it my workwould have been impossible. But it means that the Java EmbeddingPlugin is more likely to break on future releases of OS X and ofApple's JVM than an app that uses only published APIs.
Download Java Embedding Plugin 0.9.6.4 For Mac Os X
V) Debugging and Troubleshooting
The Java Embedding Plugin is a beta app that heavily depends onundocumented APIs. So there will be problems, and I need your help tofix them. But the Java Embedding Plugin won't suddenly become thecause of all the problems on your computer :-) So you need to work abit to winnow out the problems that have other causes. Fortunatelythis is very easy.
If you have a problem with an applet in one of the browsers that theJava Embedding Plugin currently supports (Firefox, Camino orSeamonkey), first look in the following file in your home directory --~/Library/Logs/Java Console.log
. This file is created bythe MRJ Plugin JEP, and contains a record of your most recent Java'session' -- including any Java exceptions that may have occurred.Another way to view Java exceptions is to run the Java Control Panel(Java 1.4.X Plugin Settings
inthe /Applications/Utilities/Java
folder, or JavaPreferences
in the /Applications/Utilities/Java/J2SE5.0
or /Applications/Utilities/Java
folder) andchoose 'Show console' (though this will cause less information to bewritten to Java Console.log
).
Java Embedding Plugin
The Java Embedding Plugin logs to the Java Console whenever itcreates an applet (each entry will contain a timestamp and (at least)the text JEP creating applet [name]
). If your consolelog doesn't contain one or more recent entries for applets created,then either they weren't loaded or the current page doesn't containany applets.
If it's really an applet that you're having trouble with, try thesame applet in the other supported browsers and in Safari, and (ifpossible) on different platforms (e.g. in some browser on Linux orWindows).
An applet problem that occurs in Safari, Firefox, Camino andSeamonkey, but not on other platforms using the same version of theSun's Java Plugin, is likely to be a problem with Apple'simplementation of Sun's JVM. A problem that also occurs on otherplatforms using Sun's Java Plugin is likely to be a problem with Sun'sJVM ... or even possibly with your applet :-)
If possible, try the applet on different versions of Mac OS X.I've seen some Apple-specific problems (i.e. ones not found in similarversions of Sun's JVM on other platforms) disappear with the changefrom Mac OS X 10.3.X to 10.4.X, or from 10.4.X to 10.5.X.
If the problem isn't associated with a Java applet, it's likely notto have anything to do with Java or the Java Embedding Plugin :-)