Механизм R.* в построении нативных расширений Air

Я пытаюсь использовать новый подход для доступа к ресурсам Android с использованием механизма R. *, представленного в Air SDK 4.0 и выше. но мне очень трудно понять, как настроить platform.xml, потому что, хотя я могу создать .ane , когда я запускаю свое приложение, оно выдает много разных странных сообщений об ошибках инструмента appt!

например: values\strings.xml: оригинал здесь. и другие подобные ошибки

или даже в проекте без ресурсов он сказал что-то вроде: android-res.jar не является каталогом

Мне не удалось найти никакой документации, кроме: http://help.adobe.com/en_US/air/extensions/WSf268776665d7970d-2e74ffb4130044f3619-7ff8.html

Может кто-нибудь, пожалуйста, скажите мне, что я делаю неправильно? вот моя настройка и моя команда вызова adt: введите здесь описание изображения


person MyFlashLabs    schedule 30.06.2014    source источник
comment
Возможно, вы захотите добавить некоторые сведения о том, как вы используете механизм R.*, т. е. упаковываете ли вы свои собственные ресурсы или используете стандартные определения android.R. Также это помогает точно показать, какие ошибки возникают.   -  person Michael    schedule 30.06.2014


Ответы (1)


Вам следует удалить все файлы ресурсов общих имен, такие как strings.xml. Они будут конфликтовать с другими расширениями и даже со встроенными ресурсами AIR.

Убедитесь, что вы назвали свои ресурсы чем-то уникальным: extensionname_strings.xml.

Вам также необходимо добавить в узел packagedResources параметры вашей платформы Android, например, это из нашего расширения Dialog (замените имя пакета на имя основного пакета вашего расширения):

<platform xmlns="http://ns.adobe.com/air/extension/4.0">
    <packagedDependencies>
        <packagedDependency>some_lib.jar</packagedDependency>
    </packagedDependencies>
    <packagedResources>
        <packagedResource>
            <packageName>com.distriqt.extension.dialog</packageName>
            <folderName>res</folderName>
        </packagedResource>
    </packagedResources>
</platform>

Затем вам нужно убедиться, что вы скопировали каталог res в каталог сборки, то есть в тот же каталог, что и some_lib.jar и jar для вашей библиотеки расширений.

person Michael    schedule 09.07.2014