본문 바로가기

JNI Spec #1 Chapter 1 JNI는 VM과 device간의 상호 운용을 통하여 VM하단을 구현할 수 없던 제약을 해결해준다. 하나의 native application/library 버젼으로 모든 java VM에서 구동한다. Java Native Interface Overview java 뿐만 아니라 다른 언어로도 구현할 수 있다는 내용 - platform dependent feature - 다른 언어로 쓰여진 library를 이미 가지고 있을 때 사용하면 유용 - 작은 부분의 time-criticla coe를 작성할 수 있다. (assembly 같은) 갖가지 장점들을 나열 하고 있지만... 단점도 많다. 내 생각에는 하드웨어 dependency가 아니라면 궂이 안 쓰는게 좋을 것 같다. Historical Bac.. 더보기
Android interface definition language Android 는 aidl을 이용하여 service를 위한 IPC를 지원할 수 있다. 프로세스 간에 객체를 전달하려면, OS 수준 기본요소로 해체할 필요가 있다. (즉, data를 OS가 이해하는 prmitive로 분해한다는 의미) 커스텀 클래스 객체 전달 Parcelable 인터페이스를 구현 public class AIDLTest implements Parcelable{ ...... public void writeToParcel(Parcle out, int flags){ out.writeLong(date.getTime()); out.writeString... out.writeDouble } public static final Parcelable.Create CREATE = new Parcelable.C.. 더보기
Jar 로 library 만들어 사용하기 /abc 폴더에 abc.java를 생성한다. package abc; public class abc{ public abc(){ } } / 에서 java를 빌드한다. javac abc/*.java /에서 abc.jar파일 생성 jar cvf abc.jar abc/*.class /xyz 폴더에서 xyz.java를 생성한다 이 파일은 abc/abc.java 파일을 참조 하게 만든다. package xyz; import abc.*; public class xyz{ xyz(){ abc a = new abc(); } } xyz.java를 abc.jar를 이용하여 build 한다. javac -classpath abc.jar xyz/*.java 더보기