openjdk 9 in ios - any sample xcode project or any sample using JavaLauncher interface?
Grigory Ptashko
grigory.ptashko at gmail.com
Sat Mar 5 20:13:06 UTC 2016
Hello Bob.
I see. That’s a very useful sample. Thank you very much.
But before I get started may I ask you what are the *.jimage files are?
I see there are no rt.jar or tools.jar anymore.
I’m a long time jdk7 user so I’m not aware of the latest innovations in jdk..
Maybe some documentation links?
Thank you.
> On 5 марта 2016 г., at 1:46, Bob Vandette <bob.vandette at oracle.com> wrote:
>
> Hi Grigory,
>
> We have been pretty focused on just keeping up with the evolving JDK 9 sources
> and haven’t yet had enough time to devote to getting samples into the repository
> or document the project structure requirements.
>
> In general we require the same JRE structure that you’d see on non Mobile platforms
> to be maintained with one exception. All static libraries are only used when the project is
> being built and should not be marked for inclusion in the application package.
>
> Here’s an old Xcode project which I published before we integrated the JavaLauncher into
> the mobile repo. It will at least give you an idea how the Java binaries are packaged.
>
> http://cr.openjdk.java.net/~bobv/mobile/j1/xcode/RunJava.tar.gz
>
> If you’d like to convert this to use the JavaLauncher, you should take a look at JavaLauncher.h
> which described the JavaLauncher Framework interface.
>
> Here’s an example of how it is used:
>
> static void javaLauncherCallback(const char *exception_msg, int error_code, void *app_data)
> {
> NSLog(@"HelloWorld::javaLauncherCallback: Received exception.");
> NSLog(@"HelloWorld::javaLauncherCallback: Exception msg: %@.",
> [NSString stringWithUTF8String: exception_msg]);
> }
>
> static JavaArgs *java_args = NULL;
>
> @implementation HelloWorld
>
> +(void)initialize
> {
> if (java_args == NULL) {
> java_args = [[[JavaArgs alloc] init] retain];
> java_args.callback = javaLauncherCallback;
> }
> }
> +(void)createJavaVM
> {
> [JavaLauncher createJavaVM:java_args];
> }
> +(void)callJava
> {
> [JavaLauncher performSelectorInBackground:@selector(callJava:)
> withObject:java_args];
> }
>
> @end
>
> Let me know if you have any questions.
> Bob.
>
>
>> On Mar 4, 2016, at 4:57 PM, Grigory Ptashko <grigory.ptashko at gmail.com> wrote:
>>
>> Hello.
>>
>> Does anyone have any examples on how to use java from jdk9 on ios?
>> I’ve built the jdk and jre, found the Java Launcher objective-c interface.
>> But I cannot understand how can I use them in the xcode project.
>>
>> I can add the JavaLauncher.framework to my project and include JavaLauncher.h.
>> But what libraries should I link my target against?
>>
>> Here’s the jre tree. What am I supposed to do with all these files in terms of adding them to
>> my xcode project? All the *.a and *.jimage files?
>>
>> ├── bin
>> │ └── unpack200
>> ├── conf
>> │ ├── logging.properties
>> │ ├── management
>> │ │ ├── jmxremote.access
>> │ │ ├── jmxremote.password.template
>> │ │ ├── management.properties
>> │ │ └── snmp.acl.template
>> │ ├── net.properties
>> │ ├── security
>> │ │ ├── java.policy
>> │ │ └── java.security
>> │ └── sound.properties
>> ├── lib
>> │ ├── amd64
>> │ │ ├── jli
>> │ │ │ ├── libjli.a
>> │ │ │ └── libjli.symbols
>> │ │ ├── jvm.cfg
>> │ │ ├── libfreetype.a.6
>> │ │ ├── libj2gss.a
>> │ │ ├── libj2gss.symbols
>> │ │ ├── libj2pcsc.a
>> │ │ ├── libj2pcsc.symbols
>> │ │ ├── libj2pkcs11.a
>> │ │ ├── libj2pkcs11.symbols
>> │ │ ├── libjaas_unix.a
>> │ │ ├── libjaas_unix.symbols
>> │ │ ├── libjava.a
>> │ │ ├── libjava.symbols
>> │ │ ├── libjimage.a
>> │ │ ├── libjimage.symbols
>> │ │ ├── libmanagement.a
>> │ │ ├── libmanagement.symbols
>> │ │ ├── libnet.a
>> │ │ ├── libnet.symbols
>> │ │ ├── libnio.a
>> │ │ ├── libnio.symbols
>> │ │ ├── libsunec.a
>> │ │ ├── libsunec.symbols
>> │ │ ├── libunpack.a
>> │ │ ├── libunpack.symbols
>> │ │ ├── libverify.a
>> │ │ ├── libverify.symbols
>> │ │ ├── libzip.a
>> │ │ ├── libzip.symbols
>> │ │ └── minimal
>> │ │ ├── Xusage.txt
>> │ │ ├── libjvm.a
>> │ │ └── libjvm.symbols
>> │ ├── classlist
>> │ ├── java.base.symbols
>> │ ├── modules
>> │ │ ├── appmodules.jimage
>> │ │ ├── bootmodules.jimage
>> │ │ └── extmodules.jimage
>> │ ├── psfont.properties.ja
>> │ ├── psfontj2d.properties
>> │ ├── security
>> │ │ ├── US_export_policy.jar
>> │ │ ├── blacklisted.certs
>> │ │ ├── cacerts
>> │ │ └── local_policy.jar
>> │ └── tzdb.dat
>>
>> Please, can anyone shed some light on it?
>>
>> Thank you.
>>
>> --
>> Best regards,
>> Grigory Ptashko
>>
>> +7 (916) 1489766
>> grigory.ptashko at gmail.com
>> facebook.com/GrigoryPtashko
>>
>
--
Best regards,
Grigory Ptashko
+7 (916) 1489766
grigory.ptashko at gmail.com
facebook.com/GrigoryPtashko
More information about the mobile-dev
mailing list