如何解决在Android / Eclipse中执行aapt的错误?

时间:2011-11-04 10:53:38

标签: android linux eclipse

执行aapt时出错。

Please check aapt is present at /home/padmakumar/android-sdk/platform-tools/aapt    NhpAndroid_tablet_k4        line 1  Android ADT Problem

Hint: On 64-bit systems, 
make sure the 32-bit libraries are installed: sudo apt-get install ia32-libs    
        line 1  Android ADT Problem

我可以在问题选项卡中删除2个错误,用于临时解决方案或清理项目或删除gen / bin文件夹,重新创建或重新启动可以正常工作。

如何永久解决以避免此问题?有什么帮助吗?

注意:我执行了这个命令' sudo apt-get install ia32-libs '仍在询问。

3 个答案:

答案 0 :(得分:5)

尝试这些命令行

sudo apt-get install libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386

要运行模拟器,您需要额外的包:

sudo apt-get install libsdl1.2debian:i386

然后在14-04之前的Ubuntu上:

apt-get install ia32-libs

在Ubuntu 14.04上使用following commands安装ia32-libs:

sudo apt-get install libc6:i386
sudo -i
cd /etc/apt/sources.list.d
echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" >ia32-libs-raring.list
apt-get update
apt-get install ia32-libs
rm /etc/apt/sources.list.d/ia32-libs-raring.list
apt-get update
exit
sudo apt-get install gcc-multilib

答案 1 :(得分:1)

从您的描述中不清楚它是Eclipse还是Android SDK问题。 尝试直接从控制台运行aapt(提供使用帮助)并使用ldd aapt检查所需的库。 Ldd输出如下所示:

.../android-sdk-linux_x86/platform-tools$ ldd aapt
   linux-gate.so.1 =>  (0xf7712000)
   librt.so.1 => /lib32/librt.so.1 (0xf76b8000)
   libpthread.so.0 => /lib32/libpthread.so.0 (0xf769e000)
   libz.so.1 => /lib32/libz.so.1 (0xf7689000)
   libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/32/libstdc++.so.6 (0xf759a000)
   libm.so.6 => /lib32/libm.so.6 (0xf7574000)
   libgcc_s.so.1 => /lib32/libgcc_s.so.1 (0xf7559000)
   libc.so.6 => /lib32/libc.so.6 (0xf73fd000)
   /lib/ld-linux.so.2 (0xf76f6000)

请注意,虽然系统是32位库中的64位aapt链接。这就是ia32-libs包的用途。因此,如果您发现appt在命令行上运行正常,那么它必定是Eclipse问题。

答案 2 :(得分:0)

它对我有用的是从Synaptic(Ubuntu)安装“multiarch-support”软件包。然后从Eclipse中清理项目。