Attempt: invoke UIApplicationMain from java
This commit is contained in:
1 parent
d2ec05c549
commit
df74ea2ce7
10 files changed
+16
-22
No files matched your search
@@ -52,7 +52,7 @@ jobs:
|
||||
|
||||
- name: Sign and Package IPA
|
||||
run: |
|
||||
mkdir -p packages/pojavlauncher_iphoneos-arm/{DEBIAN,Applications,var/lib/pojavlauncher}
|
||||
mkdir -p packages/pojavlauncher_iphoneos-arm/{DEBIAN,Applications,var/mobile/Documents/minecraft}
|
||||
cp -R Natives/build/Release-iphoneos/PojavLauncher.app packages/pojavlauncher_iphoneos-arm/Applications
|
||||
cp control packages/pojavlauncher_iphoneos-arm/DEBIAN
|
||||
ldid -Sentitlements.xml packages/pojavlauncher_iphoneos-arm/Applications/PojavLauncher.app
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
package net.kdt.pojavlaunch;
|
||||
|
||||
import java.io.*;
|
||||
|
||||
import javafx.application.Application;
|
||||
import java.util.Arrays;
|
||||
|
||||
import org.lwjgl.glfw.CallbackBridge;
|
||||
/*
|
||||
@@ -77,8 +76,9 @@ public class PLaunchApp /* extends UIApplicationDelegateAdapter */ {
|
||||
}
|
||||
*/
|
||||
|
||||
System.out.println("Input args: " + Arrays.toString(args));
|
||||
System.out.println("We are on java now! Starting UI...");
|
||||
launchUI();
|
||||
org.lwjgl.glfw.CallbackBridge.nativeLaunchUI(args);
|
||||
|
||||
LauncherPreferences.loadPreferences();
|
||||
|
||||
@@ -122,6 +122,4 @@ public class PLaunchApp /* extends UIApplicationDelegateAdapter */ {
|
||||
Tools.showError(th);
|
||||
}
|
||||
}
|
||||
|
||||
public static native void launchUI();
|
||||
}
|
||||
@@ -161,6 +161,7 @@ public class CallbackBridge {
|
||||
private static native void nativeSendScreenSize(int width, int height);
|
||||
|
||||
public static native boolean nativeIsGrabbing();
|
||||
public static native void nativeLaunchUI(String[] uiArgs);
|
||||
|
||||
static {
|
||||
System.loadLibrary("pojavexec");
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
|
||||
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
|
||||
|
||||
NSLog(@"Hello from app launch!");
|
||||
// TODO callback
|
||||
|
||||
return YES;
|
||||
|
||||
@@ -4,7 +4,7 @@ project(PojavLauncher)
|
||||
# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
||||
set(CMAKE_C_FLAGS "-x objective-c")
|
||||
|
||||
add_executable(PojavLauncher main.c AppDelegate.m UILauncher.m JavaLauncher.c)
|
||||
add_executable(PojavLauncher main.c JavaLauncher.c)
|
||||
target_link_libraries(PojavLauncher
|
||||
"-framework UIKit"
|
||||
)
|
||||
@@ -14,7 +14,7 @@ set_target_properties(PojavLauncher PROPERTIES
|
||||
MACOSX_FRAMEWORK_IDENTIFIER org.cmake.ExecutableTarget
|
||||
MACOSX_BUNDLE_INFO_PLIST "../Info.plist")
|
||||
|
||||
add_library(pojavexec SHARED egl_bridge_ios.m egl_bridge.c input_bridge_v3.c utils.c)
|
||||
add_library(pojavexec SHARED AppDelegate.m UILauncher.m egl_bridge_ios.m egl_bridge.c input_bridge_v3.c utils.c)
|
||||
target_link_libraries(pojavexec
|
||||
"-framework OpenGLES"
|
||||
)
|
||||
@@ -49,7 +49,6 @@ void append(char* s, char* c) {
|
||||
int launchJVM(int argc, char *argv[]) {
|
||||
printf("Beginning JVM launch\n");
|
||||
|
||||
mkdir("/var/mobile/Documents/minecraft", 0700);
|
||||
char *args_path = "/var/mobile/Documents/minecraft/overrideargs.txt";
|
||||
char *log_path = "/var/mobile/Documents/minecraft/latestlog.txt";
|
||||
char *main_jar = "/Applications/PojavLauncher.app/launcher.jar";
|
||||
@@ -125,7 +124,3 @@ int launchJVM(int argc, char *argv[]) {
|
||||
(const_jargs != NULL) ? JNI_TRUE : JNI_FALSE,
|
||||
const_cpwildcard, const_javaw, const_ergo_class);
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL Java_net_kdt_pojavlaunch_PLaunchApp_launchUI(JNIEnv* env, jclass clazz) {
|
||||
return launchUI();
|
||||
}
|
||||
@@ -2,8 +2,5 @@
|
||||
|
||||
static bool started = false;
|
||||
|
||||
static int first_argc;
|
||||
static char *first_argv[];
|
||||
|
||||
int launchJVM(int argc, char *argv[]);
|
||||
int launchUI();
|
||||
@@ -7,8 +7,8 @@
|
||||
|
||||
#include "JavaLauncher.h"
|
||||
|
||||
int launchUI() {
|
||||
int launchUI(int argc, char *argv[]) {
|
||||
@autoreleasepool {
|
||||
return UIApplicationMain(first_argc, first_argv, nil, NSStringFromClass([AppDelegate class]));
|
||||
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
|
||||
}
|
||||
}
|
||||
@@ -170,6 +170,12 @@ void closeGLFWWindow() {
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL Java_org_lwjgl_glfw_CallbackBridge_nativeLaunchUI(JNIEnv* env, jclass clazz, jstringArr args) {
|
||||
int argc = (*env)->GetArrayLength(env, jstringArray);
|
||||
char **argv = convert_to_char_array(env, args);
|
||||
return launchUI(argc, argv);
|
||||
}
|
||||
|
||||
JNIEXPORT jboolean JNICALL Java_org_lwjgl_glfw_CallbackBridge_nativeAttachThreadToOther(JNIEnv* env, jclass clazz, jboolean isAndroid, jboolean isUseStackQueueBool) {
|
||||
#ifdef DEBUG
|
||||
LOGD("Debug: JNI attaching thread, isUseStackQueue=%d\n", isUseStackQueue);
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
#include "JavaLauncher.h"
|
||||
|
||||
int main(int argc, char * argv[]) {
|
||||
if (!started) {
|
||||
first_argc = argc;
|
||||
first_argv = argv;
|
||||
}
|
||||
launchJVM(argc, argv);
|
||||
}
|
||||
Reference in new issue
Block a user