сборка osmand с отладкой ant дает ошибку

Я проверил последний исходный код Osmand отсюда и выполнил все шаги отсюда.

теперь я пытаюсь собрать apk через ant с помощью команды ant debug, но это не удается

я выполнил следующие команды:

myname@myname-VirtualBox:~/dev/osmand/android/OsmAnd$ ant -f build.xml
which gives output as
BUILD SUCCESSFUL

после того, как я попытаюсь

myname@myname-VirtualBox:~/dev/osmand/android/OsmAnd$ ant debug

он терпит неудачу со следующим журналом в конце:

-crunch:
   [crunch] Crunching PNG Files in source dir: /home/moonshooter/dev/osmand/android/OsmAnd/res
   [crunch] To destination dir: /home/moonshooter/dev/osmand/android/OsmAnd/bin/res
   [crunch] Crunched 0 PNG files to update cache

-package-resources:

BUILD FAILED
/home/myname/dev/osmand/android/OsmAnd/build.xml:27: The following error occurred while executing this line:
/home/myname/dev/osmand/android/OsmAnd/build.xml:28: Missing attribute libraryRFileRefid

Total time: 18 seconds

27-я и 28-я строки в xml

<do-only-if-not-library elseText="Library project: do not package resources...">
                    <aapt executable="${aapt}" command="package" versioncode="${version.code}"versionname="${version.name}" debug="${build.is.packaging.debug}" manifest="${out.manifest.abs.file}"assets="${asset.absolute.dir}" androidjar="${project.target.android.jar}" apkfolder="${out.absolute.dir}"nocrunch="${build.packaging.nocrunch}" resourcefilename="${resource.package.file.name}"resourcefilter="${aapt.resource.filter}" libraryResFolderPathRefid="project.library.res.folder.path"libraryPackagesRefid="project.library.packages" previousBuildType="$`enter code here`{build.last.target}"buildType="${build.target}" ignoreAssets="${aapt.ignore.assets}">

а вот и весь файл http://pastebin.com/Dv20iT8r

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


person Dhruv Mevada    schedule 15.03.2013    source источник
comment
Я думаю, что ошибка, возвращаемая муравьем, очень ясна - задача <aapt/> требует атрибута libraryRFileRefid для правильной работы.   -  person pepuch    schedule 15.03.2013
comment
я плохо разбираюсь в муравьях, где должна быть библиотека? установлен в системе или ему нужна какая-то папка?   -  person Dhruv Mevada    schedule 16.03.2013
comment
он говорит, что отсутствует атрибут libraryRFileRefid, где он должен быть определен и где ему нужен атрибут?   -  person Dhruv Mevada    schedule 16.03.2013
comment
Атрибут должен быть добавлен следующим образом: <aapt libraryRFileRefi="" ... />. Я не могу найти документацию aapt, поэтому я не могу вам помочь. Вы знаете, где я могу найти его?   -  person pepuch    schedule 16.03.2013


Ответы (1)


Просто нужно добавить это свойство libraryRFileRefid="project.library.bin.r.file.path" в тег aapt

<do-only-if-not-library elseText="Library project: do not package resources...">
            <aapt executable="${aapt}" command="package" versioncode="${version.code}" versionname="${version.name}" debug="${build.is.packaging.debug}" manifest="${out.manifest.abs.file}" assets="${asset.absolute.dir}" androidjar="${project.target.android.jar}" apkfolder="${out.absolute.dir}" nocrunch="${build.packaging.nocrunch}" resourcefilename="${resource.package.file.name}" resourcefilter="${aapt.resource.filter}" libraryRFileRefid="project.library.bin.r.file.path" libraryResFolderPathRefid="project.library.res.folder.path" libraryPackagesRefid="project.library.packages" previousBuildType="${build.last.target}" buildType="${build.target}" ignoreAssets="${aapt.ignore.assets}">
                <res path="${out.res.absolute.dir}" />
                <res path="${resource.absolute.dir}" />
                <!-- <nocompress /> forces no compression on any files in assets or res/raw -->
                <!-- <nocompress extension="xml" /> forces no compression on specific file extensions in assets and res/raw -->
            </aapt>
        </do-only-if-not-library>
person Niranj Patel    schedule 19.03.2013