2015-06-05 4 views
3

При построении apk с использованием python для android с помощью команды ./build.py --dir /home/sahil/Desktop/kivy --package org.demo.kivy --name Kivy --version 1.0 debug У меня эта ошибка.ValueError: Linkname слишком длинное

Traceback (most recent call last): 
File "./build.py", line 508, in <module> 
make_package(args) 
File "./build.py", line 332, in make_package 
make_tar('assets/public.mp3', [args.dir], args.ignore_path) 
File "./build.py", line 203, in make_tar 
tf.add(fn, afn) 
File "/usr/lib/python2.7/tarfile.py", line 2005, in add 
self.addfile(tarinfo) 
File "/usr/lib/python2.7/tarfile.py", line 2018, in addfile 
buf = tarinfo.tobuf(self.format, self.encoding, self.errors) 
File "/usr/lib/python2.7/tarfile.py", line 993, in tobuf 
return self.create_ustar_header(info) 
File "/usr/lib/python2.7/tarfile.py", line 1007, in create_ustar_header 
raise ValueError("linkname is too long") 
ValueError: linkname is too long 

Я смотрел в Интернете, а также в документации, но ничего не нашел. ПОМОЩЬ!

+0

Что такое 'fn' и' afn'? –

+0

Его в файле build.py он автоматически генерируется после того, как команда './Distribute.sh' используется в процессе для создания .apk в python-for-android. –

+0

В моем случае «ссылка», которая была отклонена, является «/usr/local/Cellar/python3/3.5.2_3/Frameworks/Python.framework/Versions/3.5/lib/python3.5/__future__.py», которая составляет 102 байта , 'Python3.5/tarfile.py', который жалуется, отклонит все, что угодно, на 100 байт, согласно' LENGTH_LINK = 100 # максимальной длины имени ссылки'; Я чувствую неохотно перемещать установку python. Есть ли другой путь? –

ответ

1

Возможно ли, что путь, ведущий к тому, где вы пытаетесь построить, особенно длинный? похоже, эта ошибка может произойти, когда имя файла слишком длинное для обработки дескриптора, если вы могли бы добавить print(fn, afn) перед строкой 203 build.py, чтобы проверить, что такое имя файла, которое было проверено. Или, возможно, переместите весь проект в/tmp для сборки и посмотрите, как это происходит.

1

Возможно, проверьте, находится ли ваша папка python для Android в каталоге проекта (/ home/sahil/Desktop/kivy)?

Я тоже получал эту ошибку, пока не переместил папку python-for-android за пределы каталога с моим кодом kivy и еще раз. Тогда я смог построить apk успешно.

Смежные вопросы