일상과 공간, 여행에 관한 기록RSS 구독 ↗
반응형

Android

9개의 글

Android2022.10.30

[Native C++] 응용1. Assets을 이용한 aar 만들기 (3)

Assets 폴더의 자산을 활용할수 있도록 Class를 변경하도록 합니다. 1. 다음과 같이 클래스에 소스를 추가합니다. import android.content.Context; import android.content.res.AssetManager; public class Sample { // Used to load the 'native-lib' library on application startup. static { System.loadLibrary("native-lib"); } //기본 생성자. public Sample(){ } // 생성자 추가, 라이브러리에서 Assets에 접근하기 위함. public Sample(Context context){ jni_ReadAssetManager(context..

Android2022.10.29

[Native C++] 응용1. Assets을 이용한 aar 만들기 (2)

Assets 폴더를 만들고 자료를 넣었으면 이를 활용하기 위한 Assets 관련 소스를 import하겠습니다. 1. 프로젝트의 cpp 폴더에 다음과 같은 소스파일을 넣습니다. - android_fopne.cpp #include #include "android_fopen.h" #include #include static int android_read(void *cookie, char *buf, int size) { return AAsset_read((AAsset *) cookie, buf, size); } static int android_write(void *cookie, const char *buf, int size) { return EACCES; // can't provide write access ..

Android2022.10.29

[Native C++] 응용1. Assets을 이용한 aar 만들기 (1)

자신의 aar 라이브러리안에 bin이나 txt같은 파일이 있어야 한다면 Assets를 활용하면 됩니다. 기존에 만든 SampleProject를 활용하여 이어서 진행하며, 첫번째로 Assets 폴더를 만들어서 파일을 넣는 방법을 소개하겠습니다. 1. 프로젝트 창에서 [app] 을 우클릭한뒤 [new] - [Folder] - [Assets Folder]를 클릭합니다. 2. 선택 후 Finish를 누릅니다 3. 프로젝트에 assets 폴더가 생성된것을 볼 수 있습니다. assets 폴더를 우클릭하고 Open In - Explorer를 클릭합니다. 4. Assets 폴더에 넣길 원하는 파일을 넣습니다. 샘플 프로젝트에서는 다음과 같은 파일과 내용을 넣었습니다. 5. assets 폴더에 위 data.txt 파일이..

Android2022.10.28

[Native C++] 6. aar 배포용 샘플 프로젝트 만들기(또는 aar파일을 프로젝트에 포함시키는 방법)

우선 공식 홈페이지에 친절하게 설명 되어 있다는점 참고 바라며.. https://developer.android.com/studio/projects/android-library?hl=ko Android 라이브러리 만들기 | Android 개발자 | Android Developers Android 라이브러리를 생성하는 방법을 알아보세요. developer.android.com 1. 만들어낸 aar 파일을 테스트하기 위하여 SampleTest라는 프로젝트를 새로 생성하였습니다. 2. 해당 프로젝트의 app/libs에 이전에 만든 aar 파일을 복사합니다. 3. 상단의 [File] - [Project Structure] 를 클릭하고 [Dependencies]를 클릭하면 아래와 같은 창이 뜹니다 4. All D..

Android2022.10.28

[Native C++] 5. 라이브러리 동작 확인하고 aar 파일 만들기

이제 제대로 동작하는지 확인을 위한 간단한 App을 만들어보겠습니다. 1. MainActivity를 다음과 같이 수정합니다. 2. 가상 스마트폰으로 돌려봅니다 30이 출력되었음을 확인 할 수 있습니다. 샘플이라 단순하게 Log로 뿌렸지만 UI를 꾸며서 스마트폰에 출력해도 됩니다. 3. 동작이 확인되었으면 aar파일을 생성해보겠습니다. app의 build.gradle을 클릭하여 id 'com.android.application' applicationId "com.example.sampleproject" 를 주석처리하고 plugins에 id 'com.android.library' 를 추가합니다. 또한 기본 이름도 변경해보겠습니다. plugins { //id 'com.android.application' id..

Android2022.10.27

[Native C++] 4. Java클래스 생성과 C소스 연결하기

1. java에서 호출할 패키지와 class를 생성합니다. 샘플프로젝트에서는 sample 패키지 아래에 Sample 클래스를 추가하였습니다. 2. MainActivity에 있는 native 관련 매소드들을 sample.class에 잘라 넣습니다. 그리고 소스를 일부 수정합니다. 바로 native로 연결해도 되지만 굳이 2번 거치도록 한 이유는 java에서 소스를 고쳐야 할 경우 여기서 고치도록 하려고 했습니다. 여기는 개인 성향에 따라 다른 부분이라 따라하지 않아도 무관합니다. 3. 빨간색으로 되어있는 jni_stringFromJNI()에 마우스를 좌클릭하면 왼쪽 위에 빨간 느낌표가 뜹니다. 느낌표를 클릭하고 Create JNI function for jni_stringFromJNI를 클릭합니다. 클릭하..

Android2022. 10. 30.

[Native C++] 응용1. Assets을 이용한 aar 만들기 (3)

Assets 폴더의 자산을 활용할수 있도록 Class를 변경하도록 합니다. 1. 다음과 같이 클래스에 소스를 추가합니다. import android.content.Context; import android.content.res.AssetManager; public class Sample { // Used to load the 'native-lib' library on application startup. static { System.loadLibrary("native-lib"); } //기본 생성자. public Sample(){ } // 생성자 추가, 라이브러리에서 Assets에 접근하기 위함. public Sample(Context context){ jni_ReadAssetManager(context..

Android2022. 10. 29.

[Native C++] 응용1. Assets을 이용한 aar 만들기 (2)

Assets 폴더를 만들고 자료를 넣었으면 이를 활용하기 위한 Assets 관련 소스를 import하겠습니다. 1. 프로젝트의 cpp 폴더에 다음과 같은 소스파일을 넣습니다. - android_fopne.cpp #include #include "android_fopen.h" #include #include static int android_read(void *cookie, char *buf, int size) { return AAsset_read((AAsset *) cookie, buf, size); } static int android_write(void *cookie, const char *buf, int size) { return EACCES; // can't provide write access ..

Android2022. 10. 29.

[Native C++] 응용1. Assets을 이용한 aar 만들기 (1)

자신의 aar 라이브러리안에 bin이나 txt같은 파일이 있어야 한다면 Assets를 활용하면 됩니다. 기존에 만든 SampleProject를 활용하여 이어서 진행하며, 첫번째로 Assets 폴더를 만들어서 파일을 넣는 방법을 소개하겠습니다. 1. 프로젝트 창에서 [app] 을 우클릭한뒤 [new] - [Folder] - [Assets Folder]를 클릭합니다. 2. 선택 후 Finish를 누릅니다 3. 프로젝트에 assets 폴더가 생성된것을 볼 수 있습니다. assets 폴더를 우클릭하고 Open In - Explorer를 클릭합니다. 4. Assets 폴더에 넣길 원하는 파일을 넣습니다. 샘플 프로젝트에서는 다음과 같은 파일과 내용을 넣었습니다. 5. assets 폴더에 위 data.txt 파일이..

Android2022. 10. 28.

[Native C++] 6. aar 배포용 샘플 프로젝트 만들기(또는 aar파일을 프로젝트에 포함시키는 방법)

우선 공식 홈페이지에 친절하게 설명 되어 있다는점 참고 바라며.. https://developer.android.com/studio/projects/android-library?hl=ko Android 라이브러리 만들기 | Android 개발자 | Android Developers Android 라이브러리를 생성하는 방법을 알아보세요. developer.android.com 1. 만들어낸 aar 파일을 테스트하기 위하여 SampleTest라는 프로젝트를 새로 생성하였습니다. 2. 해당 프로젝트의 app/libs에 이전에 만든 aar 파일을 복사합니다. 3. 상단의 [File] - [Project Structure] 를 클릭하고 [Dependencies]를 클릭하면 아래와 같은 창이 뜹니다 4. All D..

Android2022. 10. 28.

[Native C++] 5. 라이브러리 동작 확인하고 aar 파일 만들기

이제 제대로 동작하는지 확인을 위한 간단한 App을 만들어보겠습니다. 1. MainActivity를 다음과 같이 수정합니다. 2. 가상 스마트폰으로 돌려봅니다 30이 출력되었음을 확인 할 수 있습니다. 샘플이라 단순하게 Log로 뿌렸지만 UI를 꾸며서 스마트폰에 출력해도 됩니다. 3. 동작이 확인되었으면 aar파일을 생성해보겠습니다. app의 build.gradle을 클릭하여 id 'com.android.application' applicationId "com.example.sampleproject" 를 주석처리하고 plugins에 id 'com.android.library' 를 추가합니다. 또한 기본 이름도 변경해보겠습니다. plugins { //id 'com.android.application' id..

Android2022. 10. 27.

[Native C++] 4. Java클래스 생성과 C소스 연결하기

1. java에서 호출할 패키지와 class를 생성합니다. 샘플프로젝트에서는 sample 패키지 아래에 Sample 클래스를 추가하였습니다. 2. MainActivity에 있는 native 관련 매소드들을 sample.class에 잘라 넣습니다. 그리고 소스를 일부 수정합니다. 바로 native로 연결해도 되지만 굳이 2번 거치도록 한 이유는 java에서 소스를 고쳐야 할 경우 여기서 고치도록 하려고 했습니다. 여기는 개인 성향에 따라 다른 부분이라 따라하지 않아도 무관합니다. 3. 빨간색으로 되어있는 jni_stringFromJNI()에 마우스를 좌클릭하면 왼쪽 위에 빨간 느낌표가 뜹니다. 느낌표를 클릭하고 Create JNI function for jni_stringFromJNI를 클릭합니다. 클릭하..

반응형