openjdk 9 in ios - any sample xcode project or any sample using JavaLauncher interface?
Grigory Ptashko
grigory.ptashko at gmail.com
Sat Mar 5 21:35:57 UTC 2016
Now everything’s clear.
Thank you!
> On 6 марта 2016 г., at 0:13, Bob Vandette <bob.vandette at oracle.com> wrote:
>
> You should see a README.txt file contained in the RunJava tar bundle.
> This explains how to build and populate the sample Xcode project with the Java
> runtime.
>
> The runjava-setup.sh script copies the Java runtime artifacts (including the image files) to
> the Xcode project.
>
>
> Bob.
>
>> On Mar 5, 2016, at 4:02 PM, Grigory Ptashko <grigory.ptashko at gmail.com> wrote:
>>
>> In the RunJava project I did not find any links to *.jimage files.
>> How can it be that they are not bundled?
>> I can understand that this might somehow work in the simulator.
>> But when building the app for a device where will java runtime take the classes from?
>>
>>> On 5 марта 2016 г., at 23:46, Bob Vandette <bob.vandette at oracle.com> wrote:
>>>
>>> The jimage files are the new JDK 9 Modular Runtime Image files for the Java runtime classes.
>>> They replace the existing rt.jar and other runtime jar files.
>>>
>>> https://bugs.openjdk.java.net/browse/JDK-8061971
>>>
>>> The complete list of changes coming in JDK 9 can be found here:
>>>
>>> http://openjdk.java.net/projects/jdk9/
>>>
>>> Bob.
>>>
>>>> On Mar 5, 2016, at 3:13 PM, Grigory Ptashko <grigory.ptashko at gmail.com> wrote:
>>>>
>>>> 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
>>>>
>>>
>>
>>
>> --
>> 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