Я работал над тем, как обращаться к файлам сторонних jar-пакетов (xml файлы, изображения, называемые здесь) от модуля android. Можно ли это сделать?
Поскольку эти файлы ресурсов вызывается скомпилированными файлами jar-сторонних сторон, это значит, что я не могу использовать метод TiRHelper.getApplicationResource
в собственном Java-коде, если я не:
- декомпилировать файлы jar в java-код.
- заменить всю ссылку на исходный ресурс на TiRHelper.getApplicationResource
- перекомпилируйте исходный код сторонней версии java для jar файла.
(Этот сторонний проект https://github.com/ShareSDKPlatform/ShareSDK-for-Android/tree/master/Sample, я могу легко его скомпилировать и запустить. Вы можете видеть, что есть файлы ресурсов в /res, и один из файлов jar использовал эти файлы ресурсов.)
Я искал целый день, но не нашел ответа.
У меня есть некоторые подсказки из официального документа но он не был успешным. ошибка показывает, что ресурс не имеет доступа к java-коду из титанового модуля.
этот же вопрос (http://developer.appcelerator.com/question/178857/unable-to-load-resources-from-3rd-party-librarys-resourced-in-android-module) не ответил.
этот ответ (http://developer.appcelerator.com/question/49671/android-r-references-in-appcelerator-module#answer-266726) дает мне понять, что методы:
getResource() gives an Error
getAndroidResource() gives an Error
but getApplicationResource() DOES work
и есть подсказка, что "apklib" может быть полезен, но после чтения некоторых сообщений я обнаружил, что он был удален с официального сайта maven. и теперь Google рекомендует использовать файл "aar". Но согласно официальному выпуску Titanium (https://jira.appcelerator.org/browse/TIMOB-18565), он еще не поддерживается титаном.
Итак, я хочу знать, можно ли позволить java-коду (например, активности) обращаться к своим файлам ресурсов, связанным с сторонними банками (значение/string.xml или так) от модуля Titanium? если да, есть ли какой-нибудь пример кода, на который я могу ссылаться?
Большое спасибо!