cen*_*tic 5 python android temporary-directory python-2.7 cyanogenmod
我正在尝试构建cyanogenmod,但构建失败,具体如下.我在/ mnt上的驱动器有足够的空间,但是/ tmp所在的根分区空间较小,所以我认为在写一个临时文件时会发生这种情况.
因此我想将临时目录重定向到/ mnt下的某个地方,如何在cyanogenmod/Android构建系统中执行此操作?我尝试过设置TMP
,TEMP
但它们似乎没有任何效果.
Package OTA: /mnt/android/system/out/target/product/oneplus3/cm_oneplus3-ota-178d4560f4.zip
unzipping target target-files...
running: unzip -o -q /mnt/android/system/out/target/product/oneplus3/obj/PACKAGING/target_files_intermediates/cm_oneplus3-target_files-178d4560f4.zip -d /tmp/targetfiles-RM6VsH
--- target info ---
...
cache_size = (int) 268435456
...
recovery_size = (int) 67108864
...
userdata_size = (int) 57436708864
(using device-specific extensions from target_files)
loaded device-specific extensions from /tmp/targetfiles-RM6VsH/META/releasetools.py
Warning: could not find RADIO/filesmap in <zipfile.ZipFile object at 0x2b4193f91fd0>.
using prebuilt recovery.img from BOOTABLE_IMAGES...
using system.img from target-files
Total of 770048 4096-byte output blocks in 2698 input chunks.
Generating digraph...
Finding vertex sequence...
Reversing backward edges...
0/0 dependencies (0.00%) were violated; 0 source blocks stashed.
Improving vertex order...
Revising stash size...
Total 0 blocks are packed as new blocks due to insufficient cache size.
Reticulating splines...
Traceback (most recent call last):
File "./build/tools/releasetools/ota_from_target_files", line 1772, in <module>
main(sys.argv[1:])
File "./build/tools/releasetools/ota_from_target_files", line 1727, in main
WriteFullOTAPackage(input_zip, output_zip)
File "./build/tools/releasetools/ota_from_target_files", line 664, in WriteFullOTAPackage
system_diff = common.BlockDifference("system", system_tgt, src=None)
File "/mnt/android/system/build/tools/releasetools/common.py", line 1302, in __init__
b.Compute(self.path)
File "/mnt/android/system/build/tools/releasetools/blockimgdiff.py", line 299, in Compute
self.ComputePatches(prefix)
File "/mnt/android/system/build/tools/releasetools/blockimgdiff.py", line 618, in ComputePatches
new_f.write(piece)
IOError: [Errno 28] No space left on device
make: *** [/mnt/android/system/out/target/product/oneplus3/cm_oneplus3-ota-178d4560f4.zip] Error 1
make: Leaving directory `/mnt/android/system'
Run Code Online (Sandbox Code Playgroud)
更新:我发现了一个解决方法通过编辑/mnt/android/system/build/tools/releasetools/common.py
并且用类似手动设置一个临时-DIR tmpdir = tempfile.mkdtemp(dir='/mnt/tmp')
在行1299,根据文件mkdtemp
应使用TMP
和TEMP
,但似乎没有在这里工作了我!Python版本为2.7.6.
小智 0
要设置 TMPDIR 环境变量,请指定运行复制或发布程序的用户 ID 可以访问的目录。确保其他用户 ID 无法删除文件。例如,以下命令指定 /home/repldba/tempfiles/ 目录:export TMPDIR=/home/repldba/tempfiles/