2012-03-29 3 views
0

연구 프로젝트 용 리눅스 모듈로 aodv 프로토콜을 구현할 예정이며 나중에 안드로이드에서 구현해야합니다. 안드로이드 커널에 코드를 컴파일하고 내 모듈은 Linux (커널 2.6 이상)에서와 같이 작동합니다.리눅스에서 안드로이드로 모듈을 옮기기

의견을 보내 주시면 대단히 감사하겠습니다. 그래서, 안드로이드는 리눅스입니다 :

답변

0

태그 라인은 간다 (PS는 이미 안드로이드에 대한 몇 가지 AODV 구현 등 AODV - 온 - 안드로이드 및 UoB라고 JAdhoc 그러나 사람들은, 자바로 구현과 관련이없는 커널되어 있습니다) Linux에서하는 모든 작업 (휴대용)은 Android에서 간단하게 이루어져야합니다.

그러나 이것은 당신이 염두에 두어야 할 것입니다 몇 가지 대부분 사실이 있습니다된다

  • 이식성 : 당신이 암에 모듈을 이동 한 후 x86에서 구현을 작성하고있는 경우 Android에 존재하지 않는 기능을 사용하지 않도록주의하십시오. 그러나, 네트워크 프로토콜과 같은 것을 위해, 당신은 아마 이것들을 많이 사용하지 않을 것입니다. 마음에 오는 유일한 것은 NIC입니다.

  • Dalvik : 일반 Linux 배포판은 OS에 상당히 가깝게 실행되는 경향이있어 정기적으로 시스템 호출이나 libc 호출을하며, 커널과의 상호 작용의 의미는 대부분 응용 프로그램으로 넘어갑니다. 그러나 Android는 본질적으로 Java 환경을 기반으로하며 대부분의 응용 프로그램은 해당 프레임 워크와 만 상호 작용합니다. 이는 애플리케이션에서 변경 사항을 볼 수 있도록 Android 프레임 워크를 수정할 필요성을 알고 자하는 것을 의미합니다.

  • 위의 요점은 사용 사례에 따라 다릅니다. 기존 애플리케이션에서 aodv를 사용하도록 라우팅을 확장하려는 경우 Dalvik을 해킹하고 싶을 것입니다. 하나의 개념 증명 응용 프로그램을 작성한다면 NDK를 사용하여 C에서 aodv와 상호 작용하는 부분을 작성하고 응용 프로그램 프레임 워크를 수정하지 않아도됩니다.

  • 당신은 아마 이미 알고있을 것이다.하지만 커널 빌드 시스템은 모듈을 한 번 작성하고 설정을 변경함으로써 두 개의 아키텍처 나 플랫폼을 위해 컴파일 할 수있을 정도로 정교하다.

희망이 있습니다.

+0

대단히 감사합니다. 나는 안드로이드에 녹색이고 안드로이드의 프레임 워크 내에서 응용 프로그램에 변경 내용을 표시하는 심각한 문제가있을 수 있다는 것을 인식하지 못했습니다. 이에 대한 조사가 필요합니다. – Jonathan

+0

대단히 환영합니다. 나는 자기 승격에서가 아니라 대답을 투표하는 것이 좋습니다. 그러나 더 높은 점수를 주면 비슷한 물건을 찾는 사람들이 그것을 볼 가능성이 더 커짐을 의미합니다. 행운을 빕니다! – Alex

관련 문제