@IvaToa10

Что доступно из c++ кода в Android-приложении?

Добрый день!

Ситуация такова - есть Android-приложение с c++ библиотекой (.so файл). Надо использовать эту библиотеку в другом прилождении, не меняя код на c++.

Если создать прилождение, описав все функции для доступа в c++ библиотеку в java-коде и applicationId в gradle и package в AndroidManifest с именем первого приложения, то все работает.

Но если также описать все функции для доступа в c++ библиотеку в java-коде, но поменять applicationId в gradle и package в AndroidManifest на другой, то часть функций не работает.

Примечание - естественно я не меняю имя пакета в java-коде, чтобы работали Java_com_package_name с++ функции.

Мои мысли.
Там есть native функция, которой передается context.
Возможно, надо как-то использовать context от первого прилождения. Есть метод - createPackageContext().

1. Можете, пожалуйста, объяснить как он работает?

2. Как может использоваться context в c++ коде, что он может вызвать? Возможно, надо просто переопределить эти методы в java-классе и все будет работать.

3. К чему вообще может быть доступ из c++ код к Android-приложению? Я так понимаю, он может вызывать java-функции и иметь доступ к assets. К чему он еще имеет доступ?
  • Вопрос задан
  • 88 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы