참고 사이트 : https://sites.google.com/site/robdevelopertips/how-to-build-boost-1-64-0-for-android


android boost info 

https://code.i-harness.com/ko/q/d62d57


$ wget https://dl.bintray.com/boostorg/release/1.64.0/source/boost_1_64_0.tar.gz

$ tar -xzf boost_1_64_0.tar.gz


./clang++ --version
Android clang version 3.8.256229  (based on LLVM 3.8.256229)
Target: armv7a-none-linux-android
Thread model: posix


touch ~/android-config.jam



https://developer.android.com/ndk/guides/standalone_toolchain.html?hl=ko



'JAVA > ANDROID' 카테고리의 다른 글

[Toolchain]Android  (0) 2018.03.16
Android Studio  (0) 2018.03.16
Android  (0) 2018.03.13
NDK 정리  (0) 2015.05.30
NDK Build-준비하기  (0) 2015.05.30

휴대기기 정보 : SHV-E500S

안드로이드 버전 : 4.2.2

커널 버전 :3.4.39-2831236


platforms = android-17



NDK : android-ndk-r13b-linux-x86_64.zip

SDK : tools_r25.2.3-linux.zip


Toolchain 생성하기


NDK 경로에 존재한다.


/IVIS/Qt5.8/android-ndk/android-ndk-r13b/build/tools


make_standalone_toolchain.py


usage: make_standalone_toolchain.py [-h] --arch

                                    {arm,arm64,mips,mips64,x86,x86_64}

                                    [--api API]

                                    [--stl {gnustl,libc++,stlport}] [--force]

                                    [-v]

                                    [--package-dir PACKAGE_DIR | --install-dir INSTALL_DIR]


./make_standalone_toolchain.py -arch arm --api android-17 


./make-standalone-toolchain.sh \

> --arch=arm --platform=android-17 --stl=libc++ --install-dir=$NDK/ivis-tool

HOST_OS=linux

HOST_EXE=

HOST_ARCH=x86_64

HOST_TAG=linux-x86_64

HOST_NUM_CPUS=8

BUILD_NUM_CPUS=16

Toolchain installed to /IVIS/Qt5.8/android-ndk/android-ndk-r13b/ivis-tool.



sysroot = /IVIS/Qt5.8/android-ndk/android-ndk-r13b/ivis-tool/sysroot


'JAVA > ANDROID' 카테고리의 다른 글

[Android for Boost] Compile  (0) 2018.03.16
Android Studio  (0) 2018.03.16
Android  (0) 2018.03.13
NDK 정리  (0) 2015.05.30
NDK Build-준비하기  (0) 2015.05.30

설치

CMake 3.6.4111459 in /home/kj/GENIVI/android/cmake/3.6.4111459

Android Emulator in /home/kj/GENIVI/android/emulator

/home/kj/GENIVI/android/ndk-bundle

'JAVA > ANDROID' 카테고리의 다른 글

[Android for Boost] Compile  (0) 2018.03.16
[Toolchain]Android  (0) 2018.03.16
Android  (0) 2018.03.13
NDK 정리  (0) 2015.05.30
NDK Build-준비하기  (0) 2015.05.30

android


Android - https://developer.android.com/guide/topics/manifest/uses-sdk-element.html



휴대폰 6.0.1




API 레벨 23 FIX

Android 6.023M

플랫폼 하이라이트


sysroot 선택 : 


/home/kwangjo/GENIVI/ndk/android-ndk-r16b/platforms/android-23/arch-arm



컴파일러 

export CC="$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/ \
linux-x86/bin/arm-linux-androideabi-gcc-4.8 --sysroot=$SYSROOT"
$CC -o foo.o -c foo.c

/home/kwangjo/GENIVI/ndk/android-ndk-r16b/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin


JAVA

sudo add-apt-repository ppa:openjdk-r/ppa 
sudo apt-get update
sudo apt-get install openjdk-8-jdk



http://doc.qt.io/qt-5/androidgs.html

sudo apt-get install libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386


emulator

sudo apt-get install libsdl1.2debian:i386


avd 생성

./avdmanager create avd -n test -k "system-images;android-22;google_apis;x86"




'JAVA > ANDROID' 카테고리의 다른 글

[Toolchain]Android  (0) 2018.03.16
Android Studio  (0) 2018.03.16
NDK 정리  (0) 2015.05.30
NDK Build-준비하기  (0) 2015.05.30
NDK-build  (0) 2015.05.28

 

JNI 구현순서

1. 자바 코드 작성

2. javac 로 소스를 컴파일해 class 파일을 얻음

3. javah로 class 파일에서 헤더 파일 생성

4. 생성한 헤더파일을 토대로 C/C++작성

5. C/C++ 코드를 컴파일해 Shared Object 라이브러리 생성

6. 안드로이드 자바 애플리케이션에 라이브러리를 포함하여 APK생성

 

자바와 네이티브에서 사용되는 타입정의

/opt/android-ndk-r10e/platforms/android-15/arch-arm/usr/include/

 35 typedef uint8_t         jboolean;       /* unsigned 8 bits *     /
  36 typedef int8_t          jbyte;          /* signed 8 bits */
  37 typedef uint16_t        jchar;          /* unsigned 16 bits      */
  38 typedef int16_t         jshort;         /* signed 16 bits */
  39 typedef int32_t         jint;           /* signed 32 bits */
  40 typedef int64_t         jlong;          /* signed 64 bits */
  41 typedef float           jfloat;         /* 32-bit IEEE 754 *     /
  42 typedef double          jdouble;        /* 64-bit IEEE 754 *     /

 

 125     jboolean    z;
 126     jbyte       b;
 127     jchar       c;
 128     jshort      s;
 129     jint        i;
 130     jlong       j;
 131     jfloat      f;
 132     jdouble     d;
 133     jobject     l;

....등 

 

NDK 가이드

http://developer.android.com/ndk/guides/index.html

 

 

 

 

출처

 

안드로이드의 모든것 NDK -고현철 , 전호철 (한빛미디어)

'JAVA > ANDROID' 카테고리의 다른 글

Android Studio  (0) 2018.03.16
Android  (0) 2018.03.13
NDK Build-준비하기  (0) 2015.05.30
NDK-build  (0) 2015.05.28
hybus_4412 안드로이드 컴파일 에러  (0) 2015.05.27

ndk- 네이티브에서 자바 콜백하기   http://readdie.blog.me/70153260337  

 

bash ~/.bashrc

 

export JAVA_HOME=/opt/Sjava/jdk1.6.0_26
export ANDROID_JAVA_HOME=$JAVA_HOME
export PATH=$JAVA_HOME/bin:$PATH


export ANDROID_HOME=/root/Android/Sdk


export CROSS_COMPILE=/opt/arm-2009q3/bin/arm-none-linux-gnueabi-
export PATH=$PATH:/opt/arm-2009q3/bin:$ANDROID_NDK_HOME:$ANDROID_HOME 

 

Android Studio

 

File->Setting  클릭후

Tools -> External Tools

 

+

 

 

 

 

javah

/opt/jdk1.8.0_45/bin/javah

-classpath $Classpath$ -v -jni $FileClass$

$SourcepathEntry$/../jni

 

 /opt/android-ndk-r10e/ndk-build

$ProjectFileDir$/app/src/main

 

/opt/android-ndk-r10e/ndk-build

clean

$ProjectFileDir$/app/src/main

 

build.gradle

에 추가

  sourceSets.main {
        jni.srcDirs = []
        jniLibs.srcDir 'src/main/libs'
    }

 

NDKTest.tar.gz



android-studio build NDK

https://www.davidlab.net/ko/tech/using-the-android-ndk-with-android-studio-part1/



 

'JAVA > ANDROID' 카테고리의 다른 글

Android Studio  (0) 2018.03.16
Android  (0) 2018.03.13
NDK 정리  (0) 2015.05.30
NDK-build  (0) 2015.05.28
hybus_4412 안드로이드 컴파일 에러  (0) 2015.05.27

http://dev.re.kr/65

참고

 

led 및 fnd

NDKTest.tar.gz

 

'JAVA > ANDROID' 카테고리의 다른 글

Android Studio  (0) 2018.03.16
Android  (0) 2018.03.13
NDK 정리  (0) 2015.05.30
NDK Build-준비하기  (0) 2015.05.30
hybus_4412 안드로이드 컴파일 에러  (0) 2015.05.27

 

 dalvik/vm/native/dalvik_system_Zygote.cpp: In function ‘int setrlimitsFromArray(ArrayObject*)’:
dalvik/vm/native/dalvik_system_Zygote.cpp:194: error: aggregate ‘rlimit rlim’ has incomplete type and cannot be defined
dalvik/vm/native/dalvik_system_Zygote.cpp:217: error: ‘setrlimit’ was not declared in this scope
make: *** [out/host/linux-x86/obj/SHARED_LIBRARIES/libdvm_intermediates/native/dalvik_system_Zygote.o] Error 1
make: *** Waiting for unfinished jobs....

위의 링크에서는 에러가 난 dalvil_system_Zagote.cpp파일에 #include <sys/resource.h>를 추가해주면 빌드가 잘 된다고 나왔습니다.

위의 글을 믿고 cpp파일에

#include <sys/resource.h>

헤더파일 추가

 

  

2.g++-4.4-multilib gcc-4.4-multilib 설치 해결

 

host Executable: aapt (out/host/linux-x86/obj/EXECUTABLES/aapt_intermediates/aapt)
host C++: aidl <= frameworks/base/tools/aidl/aidl.cpp
host C++: aidl <= frameworks/base/tools/aidl/aidl_language.cpp
g++-4.4: g++-4.4: selected multilib '32' not installedselected multilib '32' not installed

make: *** [out/host/linux-x86/obj/EXECUTABLES/acp_intermediates/acp] Error 1
make: *** Waiting for unfinished jobs....
make: *** [out/host/linux-x86/obj/EXECUTABLES/aapt_intermediates/aapt] Error 1
 


 

 

3. apt-get install libswitch-perl

 

http://blog.naver.com/ekdldhrtlsda/220196447307

 

Can't locate Switch.pm in @INC (you may need to install the Switch module) (@INC contains: /etc/perl /usr/local/lib/perl/5.18.2 /usr/local/share/perl/5.18.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.18 /usr/share/perl/5.18 /usr/local/lib/site_perl .) at external/webkit/Source/WebCore/make-hash-tools.pl line 23.
BEGIN failed--compilation aborted at external/webkit/Source/WebCore/make-hash-tools.pl line 23.
make: *** [out/target/product/hybus_4412/obj/STATIC_LIBRARIES/libwebcore_intermediates/Source/WebCore/html/DocTypeStrings.cpp] Error 2
make: *** Waiting for unfinished jobs..

 

 

 

 

sudo apt-get install uboot-mkimage

 

 

Target ram disk: out/target/product/hybus_4412/ramdisk.img
mkimage -A arm -O linux -T ramdisk -C none -a 0x30A00000 -n "ramdisk" -d out/target/product/hybus_4412/ramdisk.img out/target/product/hybus_4412/ramdisk-uboot.img
/bin/bash: mkimage: command not found
make: *** [out/target/product/hybus_4412/ramdisk.img] Error 127
make: *** Deleting file `out/target/product/hybus_4412/ramdisk.img'
make: *** Waiting for unfinished jobs....
root@li:/home/li/Desktop/andsource/android# bj/STATIC_LIBRARIES/libLLVMBitReader_2_7_intermediates/libLLVMBitReader_2_7.a)
bash: syntax error near unexpected token `)'
 

 





민석

cp /usr/include/x86_64-linux-gnu/zconf.h /usr/include/


/usr/include/zlib.h:34: fatal error: zconf.h: No such file or directory

 Install: out/host/linux-x86/bin/hierarchyviewer

Install: out/host/linux-x86/bin/hierarchyviewer1

host C++: hist_trace <= sdk/emulator/qtools/trace_reader.cpp

In file included from system/core/gpttool/gpttool.c:24:

/usr/include/zlib.h:34: fatal error: zconf.h: No such file or directory

compilation terminated.

make: *** [out/host/linux-x86/obj/EXECUTABLES/gpttool_intermediates/gpttool.o] Error 1

make: *** Waiting for unfinished jobs....

 

 

완료?

 


 'out/target/common/obj/APPS/Contacts_intermediates/classes.dex' as 'classes.dex'...
 'out/target/common/obj/APPS/Bluetooth_intermediates/classes.dex' as 'classes.dex'...
Install: out/target/product/hybus_4412/system/app/Calendar.apk
Install: out/target/product/hybus_4412/system/app/CalendarProvider.apk
target Package: Development (out/target/product/hybus_4412/obj/APPS/Development_intermediates/package.apk)
target Dex: android.core.tests.libcore.package.com.no-core-tests-res
Warning: AndroidManifest.xml already defines versionCode (in http://schemas.android.com/apk/res/android); using existing value in manifest.
Warning: AndroidManifest.xml already defines versionName (in http://schemas.android.com/apk/res/android); using existing value in manifest.
 'out/target/common/obj/APPS/Development_intermediates/classes.dex' as 'classes.dex'...
target Dex: android.core.tests.libcore.package.dalvik.no-core-tests-res
target Dex: android.core.tests.libcore.package.libcore.no-core-tests-res
 'out/target/common/obj/APPS/Email_intermediates/classes.dex' as 'classes.dex'...
target Dex: android.core.tests.libcore.package.org.no-core-tests-res
target Dex: android.core.tests.libcore.package.sun.no-core-tests-res
Copying: out/target/common/obj/APPS/android.core.tests.libcore.package.tests.no-core-tests-res_intermediates/noproguard.classes.jar
Install: out/target/product/hybus_4412/system/app/Bluetooth.apk
Install: out/target/product/hybus_4412/system/app/Contacts.apk
Install: out/target/product/hybus_4412/system/app/Development.apk
Install: out/target/product/hybus_4412/system/app/Email.apk
Copying: out/target/common/obj/JAVA_LIBRARIES/services_intermediates/noproguard.classes.dex
Copying: out/target/common/obj/APPS/android.core.tests.libcore.package.libcore.no-core-tests-res_intermediates/noproguard.classes.dex
Copying: out/target/common/obj/APPS/android.core.tests.libcore.package.org.no-core-tests-res_intermediates/noproguard.classes.dex
target Dex: android.core.tests.libcore.package.tests.no-core-tests-res
make: *** [out/target/common/obj/APPS/android.core.tests.libcore.package.sun.no-core-tests-res_intermediates/noproguard.classes-with-local.dex] Killed
make: *** Waiting for unfinished jobs....
make: *** [out/target/common/obj/APPS/android.core.tests.libcore.package.com.no-core-tests-res_intermediates/noproguard.classes-with-local.dex] Killed
 

 

ramdisk.img

ramdisk-uboot.img

userdata.img

 

 

 

'JAVA > ANDROID' 카테고리의 다른 글

Android Studio  (0) 2018.03.16
Android  (0) 2018.03.13
NDK 정리  (0) 2015.05.30
NDK Build-준비하기  (0) 2015.05.30
NDK-build  (0) 2015.05.28

+ Recent posts