2011-11-15 2 views

답변

0

당신은 안드로이드 NDK를 찾을 필요가 있습니다 here 안드로이드에 대한 C 코드를 컴파일하는 방법과 웹 페이지에 예제가 포함되어 있습니다. 네이티브 코드 라이브러리를 해당 기본 라이브러리를 포함하는 방법을 C 및 C++ 소스 에서 를 생성하는 데 사용

도구 집합 빌드 파일을 다음 NDK가 제공하는 NDK Website:

에서

배포 할 수있는 응용 프로그램 패키지 파일 (.apk)에 Android 시스템의 모든 향후 버전에서 이 지원되는 기본 시스템 헤더 및 라이브러리 세트Android 1.5에서 시작하는기본 활동 인 을 사용하는 응용 프로그램은 Android 2.3 이상에서 실행해야합니다. 문서, 샘플 및 당신이 무엇을 달성하고자하는 가까이에 있다면 나는 또한 this을 찾았어요 튜토리얼

.

+0

감사합니다. 이미 NDK를 다운로드했습니다. 내가 뭘 하려는지 rsync 소스 코드를 실행 바이너리로 컴파일하여 자바 코드 내에서이 바이너리를 호출 할 수 있도록하는 것이다. – Macchiato

+0

올바르게 이해했다면 라이브러리를 컴파일하고 실행 파일을 만들고 싶지 않을 것입니다. 나는 이것을 달성하기가 매우 어렵다고 생각하며 개인적으로 코드를 라이브러리로 만들어서 그런 식으로 사용할 수 있는지 직접 볼 것입니다. 나는 내 대답에 위의 링크와 정보를 포함시켰다. – Kerry

+0

안녕 케루 부, 미안하지만 대답은 두 번째 링크입니다. 나는 또한 그 사이트를 우연히 발견했다. 하지만 크로스 컴파일러를 제공하는 NDK를 사용하여 코드를 컴파일해야합니다. 감사. – Macchiato

10

정적으로 링크한다고 가정하고 NDK없이 컴파일 할 수 있습니다. 이것은 나를 위해 우분투 13.04 Raring Ringtail에서 작동합니다.

크로스 컴파일러를 설치

sudo apt-get install gcc-arm-linux-gnueabi 

다운로드 rsync에서는 크로스 컴파일러

wget http://rsync.samba.org/ftp/rsync/rsync-3.0.9.tar.gz 
tar -zxv -f rsync-3.0.9.tar.gz 
cd rsync-3.0.9 

컴파일, 정적 링크를 사용하여 :

./configure --host=arm-linux-gnueabi CFLAGS="-static" 
make 

당신은 함께 몇 가지 경고를 얻을 수 있습니다 라인은 Using X in statically linked applications requires at runtime the shared libraries from the glibc version used for linking입니다. 그러나 지금까지 rsync가 나를 위해 일해 왔습니다.

그리고 마지막으로, (당신이 SSHDroid을 사용하고 있다고 가정) 휴대 전화에 설치 : 귀하의 빠른 회신

scp -P 2222 rsync [email protected]$PHONE_IP:/data/data/berserker.android.apps.sshdroid/dropbear 
+0

실행하기 전에 바이너리를/data (예 :/data/local/tmp)로 이동하고 실행 파일 (chmod 0777 rsync)으로 만들어야합니다. – yanokwa

+0

이진 파일이 무엇입니까? 도와주세요. http://stackoverflow.com/questions/22529567/compile-the-rsync-source-code-and-deploy-it-to-android-device – pengwang