본문 바로가기
KERD
논문KCI 등재

The Method to use Native Code(C/C++) in Android OS and Its Applications

0

조회

0

다운로드

1

인용

0

참고문헌

키워드

주제분류학제간연구

초록

In general an Android application based on Java operates on DALVIK virtual machine. It is safe that an application operates on a virtual machine which means it is platform-independent. However, to be operated on a virtual machine, it takes some time for the program codes to be converted. This is slower than an operation of native codes like C because the codes are translated to machine language, which means it is platform-dependent. Also, it is restricted to access a hardware directly on a virtual machine. Many programs have been developed based on C/C++. We might save time and cost for development if we can reuse these programs without re-developing for other programming languages. On this paper, we explain how to operate a code based on C/C++ using JNI (Java Native Interface). Starting with how to call C/C++ native functions from Java classes, we introduce how codes developed with two different programming languages communicate each other. Also, we introduce a specific case using native codes on Android as an example.

Abstract

In general an Android application based on Java operates on DALVIK virtual machine. It is safe that an application operates on a virtual machine which means it is platform-independent. However, to be operated on a virtual machine, it takes some time for the program codes to be converted. This is slower than an operation of native codes like C because the codes are translated to machine language, which means it is platform-dependent. Also, it is restricted to access a hardware directly on a virtual machine. Many programs have been developed based on C/C++. We might save time and cost for development if we can reuse these programs without re-developing for other programming languages. On this paper, we explain how to operate a code based on C/C++ using JNI (Java Native Interface). Starting with how to call C/C++ native functions from Java classes, we introduce how codes developed with two different programming languages communicate each other. Also, we introduce a specific case using native codes on Android as an example.

참고문헌 (18)

  1. L. Mingyang, "Real-time motion tracking on a cellphone using inertial sensing and a rolling-shutter camera", IEEE International Conference on Robotics and Automation, pp.4712~4719 (2013)
  2. "Google Project Tango website"[URL]
  3. W. Liu, "Android PBC: A pairing based cryptography toolkit for android platform", Communications Security Conference, pp.1~6 (2014)
  4. L. S. Andrés, "An analysis of android smartphones as a platform for augmented reality games", International Conference on Mobile Ubiquitous Computing, Systems, Services and Technologies, pp.71~76 (2011)
  5. Phuc Huu Truong, "Rapid Implementation of 3D Facial Reconstruction from a Single Image on an Android Mobile Device", KSII Transactions on Internet and Information Systems, 8(5), pp.1690~1710 (2014), 한국인터넷정보학회[DOI]
  6. W. Wu, "An improved method of vibe for motion detection based on android system", IEEE International Conference on Robotics and Biomimetics, pp.2436~2440 (2013)
  7. G. Grisetti, "A tutorial on graph-based SLAM", IEEE Intelligent Transportation Systems Magazine, pp.31~34 (2010)
  8. H. -S. Oh, "Evaluation of android dalvik virtual machine", Proceedings of the 10th International Workshop on Java Technologies for Real-time and Embedded Systems, pp.115~124 (2012)
  9. S. Lee, "Evaluating performance of android platform using native C for embedded systems", International Conference on Control, Automation and Systems, pp.1160~1163 (2010)
  10. 이주호, "Android 플랫폼에서 구현 기술에 따른 화질 개선 연산 성능 비교", 디지털컨텐츠학회논문지, 14(1), pp.7~14 (2013), 한국디지털콘텐츠학회[DOI]
  11. C. -M. Lin, "Benchmark dalvik and native code for android system", IEEE International Conference on Innovations in Bio-inspired Computing and Applications, pp.320~323 (2011)
  12. L. Batyuk, "Developing and benchmarking native linux applications on android", International Conference on Mobile Wireless Middleware, Operating Systems, and Applications, pp.381~390 (2009)
  13. "Android Developer website"[URL]
  14. Y. Wu, "Porting mobile web application engine to the android platform", IEEE 10th International Conference on Computer and Information Technology, pp.2157~2161 (2010)
  15. C. -W. Chang, "Implementation of JVM too linterface on dalvik virtual machine", International Symposium on VLSI Design Automation and Test, pp.143~146 (2010)
  16. Y. H. Lee, "VPass: Algorithmic compass using vanishing points in indoor environments", IEEE, 2009, 936~941
  17. "Power Tutor Application"[URL]
  18. J. M. Lee, "Power consumption analysis of smart phone applications", Proceedings of the Korea Information Science Society FALL Conference, 38(2(D)), pp.39~42 (2011)

관련 논문AI추천

이 간행물의 다른 논문 (11건)