iw sürüm 3.11'i (zaten bir Android.mk dosyası olan) oluştururken, eksik/yanlış üstbilgiler ve kitaplıklar nedeniyle bazı sorunlarla karşılaştım. Android.mk dosyası olduğu için NDK kullanılabilir. Gelen
aşağıdaki üstlenecek aşağıdadır:
- bir cihaz görüntü (çekirdek başlıkları ve libnl-2 statik kütüphane, en azından mevcut olmalıdır) önce inşa edilmiştir. I9300 için CyanogenMod 10'u (çekirdek 3.0.something ile) oluşturdum, bunu yansıtmak için aşağıdaki yolları güncelleyin.
- NDK
~/android/system/ndk
'a yüklenmiştir.
- NDK'nın uygun platformları ve yüklü araçları var.
In file included from external/libnl-headers/netlink/genl/genl.h:15:0,
from /tmp/and/iw/jni/iw.c:17:
external/libnl-headers/netlink/netlink.h:27:29: fatal error: linux/genetlink.h: No such file or directory.
Basitçe kötü android/system/out/target/product/i9300/obj/KERNEL_OBJ/usr/include/linux
sonları diğer başlıklarına bir bağlantı oluşturarak:
ln -s . jni
ln -nsv ~/android/system/external ./
sonraki konu netlink kütüphanesi:
Hazırlama iw-3.11.tar.xz
ayıklanması ve içinde benim dizini değiştirdikten sonra gibi hatalar verecek:
Compile thumb : iw <= iw.c
In file included from /home/user/android/system/ndk/platforms/android-14/arch-arm/usr/include/net/if.h:28:0,
from /tmp/and/iw/jni/iw.c:10:
/tmp/and/iw/jni/linux/if.h:178:19: error: field 'ifru_addr' has incomplete type
/tmp/and/iw/jni/linux/if.h:179:19: error: field 'ifru_dstaddr' has incomplete type
/tmp/and/iw/jni/linux/if.h:180:19: error: field 'ifru_broadaddr' has incomplete type
/tmp/and/iw/jni/linux/if.h:181:19: error: field 'ifru_netmask' has incomplete type
/tmp/and/iw/jni/linux/if.h:182:20: error: field 'ifru_hwaddr' has incomplete type
In file included from external/libnl-headers/netlink/netlink.h:20:0,
from external/libnl-headers/netlink/genl/genl.h:15,
from /tmp/and/iw/jni/iw.c:17:
/home/user/android/system/ndk/platforms/android-14/arch-arm/usr/include/sys/socket.h:74:44: warning: 'struct msghdr' declared inside parameter list [enabled by default]
/home/user/android/system/ndk/platforms/android-14/arch-arm/usr/include/sys/socket.h:74:44: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
/home/user/android/system/ndk/platforms/android-14/arch-arm/usr/include/sys/socket.h:75:38: warning: 'struct msghdr' declared inside parameter list [enabled by default]
In file included from external/libnl-headers/netlink/netlink.h:25:0,
from external/libnl-headers/netlink/genl/genl.h:15,
from /tmp/and/iw/jni/iw.c:17:
/tmp/and/iw/jni/linux/netlink.h:33:2: error: unknown type name 'sa_family_t'
In file included from external/libnl-headers/netlink/genl/genl.h:15:0,
from /tmp/and/iw/jni/iw.c:17:
external/libnl-headers/netlink/netlink.h:51:16: warning: 'struct msghdr' declared inside parameter list [enabled by default]
external/libnl-headers/netlink/netlink.h:54:19: warning: 'struct iovec' declared inside parameter list [enabled by default]
make: *** [/tmp/and/iw/obj/local/armeabi/objs/iw/iw.o] Error 1
Şimdi inşa olabilir
sed "/LOCAL_LDFLAGS/s#\$# -L$HOME/android/system/out/target/product/i9300/obj/STATIC_LIBRARIES/libnl_2_intermediates -lnl_2#" -i Android.mk
: Sonunda netlink kütüphaneye bağlamak bitirmek için Android.mk
yama
mkdir -p linux
ln -svn ~/android/system/out/target/product/i9300/obj/KERNEL_OBJ/usr/include/linux/genetlink.h linux/
:
bir geçici çözüm linux
dizini oluşturmak ve içinde ~/android/system/out/target/product/i9300/obj/KERNEL_OBJ/usr/include/linux/genetlink.h
bir sembolik koymaktır başlatıldı:
NDK_PROJECT_PATH=$PWD ~/android/system/ndk/ndk-build TARGET_PLATFORM=android-14
Netlink çünkü tamamlanmaz /genl/genl.h bulunamadı, ancak iw
ikili dosyaları libs/armeabi'de mevcuttur!
Bu sayfada ikili dosyayı denediniz mi? Bunu cihazdan kendiniz derlemek istiyorsanız, çok daha zor olacak. Kesinlikle git varsayılan olarak yüklenmemiş. – kabuko
@kabuko binary ile ne demek istiyorsun, ayrıca terminalde çalışmam için terminalde çalışmam gerekiyorsa, ubuntu makinesinde bunun için derleme yapmam gerekiyor, fakat cihaz bu özelliği nasıl destekleyecektir? android sdk? – Hana90