Xamarin библиотека связывания комбинация InputJar и ReferenceJar? - PullRequest
0 голосов
/ 06 февраля 2020

Я пытаюсь использовать https://github.com/Redth/Xamarin.Android.Xposed в Xamarin, но Xposed отвергает окончательный результат, говоря: «не могу загрузить модуль» .. «классы API xposed скомпилированы в apk модуля». Файл xposed-api.jar в настоящее время является EmbeddedJar, что является причиной этой ошибки. Файл xposed-api.jar становится доступным во время во время выполнения уже Xposed.

Из документов xamarin .

InputJar - не встраивает .jar в результирующую библиотеку привязок .DLL. Ваша библиотека привязок .DLL будет зависеть от этого .jar в runtime .

Кажется, что InputJar решит мою проблему с его компиляцией в полученный apk. Тем не менее, он не может скомпилировать в apk вообще. Это дает мне ошибки в сгенерированном файле java, например.

JAVAC0000: ошибка: пакет de.robv. android .xposed не существует de.robv. android .xposed. IXposedHookLoadPackage 0

Тогда для ReferenceJar ..

ReferenceJar - Определяет ссылку .jar: ссылка .jar - это .jar, который является одним из ваших связанных .jar или. Файлы AAR зависят от. Эта ссылка .jar используется только для удовлетворения зависимостей времени компиляции . Когда вы используете это действие сборки, C# привязки не создаются для ссылки .jar и не встраиваются в результирующую библиотеку привязок .DLL.

Отлично, она будет предоставлена ​​во время компиляции. время ... однако, никакие привязки не будут сгенерированы, поэтому я не могу их использовать.

Я также попытался объединить их, создав 2 идентичные библиотеки, в одной из которых имеется InputJar, а в другой ReferenceJar, но это не сработало совсем .

Как мне добиться того, что я пытаюсь сделать?

Чтобы подвести итог, мне нужно добавить xposed-api.jar в виде библиотеки, как android .jar из добавлена ​​структура Android. Вы можете использовать классы и правильно скомпилировать их без компиляции в apk.

...