Самый простой (и даже правильный) способ - найти путь, где java.exe
.
Вы можете использовать функцию FileSearch
, например:
var
Path: string;
begin
Path := FileSearch('java.exe', GetEnv('PATH'));
if Path = '' then
begin
Log('Java not found in PATH');
end
else
begin
Path := ExtractFileDir(Path);
Log(Format('Java is in "%s"', [Path]));
end;
end;
Если вы все еще хотите найти путь, содержащий JRE
, вы можете использовать такой код:
var
Path: string;
JavaPath: string;
S: string;
P: Integer;
begin
Path := GetEnv('PATH');
while (Path <> '') and (JavaPath = '') do
begin
P := Pos(';', Path);
if P = 0 then
begin
S := Trim(Path);
Path := '';
end
else
begin
S := Trim(Copy(Path, 1, P - 1));
Path := Trim(Copy(Path, P + 1, Length(Path) - P));
end;
if Pos('JDK', Uppercase(S)) > 0 then
begin
JavaPath := S;
end;
end;
if JavaPath = '' then
begin
Log('Java not found in PATH');
end
else
begin
Log(Format('Java is in "%s"', [JavaPath]));
end;
end;
Всякий раз, когда вам нужен доступ к какой-либо части Java или ObjC-кода, вам нужно создать собственный модуль. По сути, вы создадите базовый проект, использующий код Java / Android, и создадите интерфейс для использования в React Native.
См. Здесь: https://facebook.github.io/react-native/docs/native-modules-ios