android2018. 6. 21. 11:03
Custom Android Keycode를 추가하기 위한 예로 CUSTOM_MENU을 추가한다 가정하면 아래와 같이 수정한다. ./native/include/input/InputEventLabels.h:327:
DEFINE_KEYCODE(CUSTOM_MENU),

./native/include/android/keycodes.h:772:
AKEYCODE_CUSTOM_MENU = 123123

./base/core/res/res/values/attrs.xml:1892:


./base/core/java/android/view/KeyEvent.java:813:
/** Key code constant: custom menu

 * @hide */

public static final int KEYCODE_CUSTOM_MENU = 123123;

참고로 공식적으로 API를 원하지 않는 경우 KeyEvent.java에서 @hide를 명시하지 않을 경우 빌드 시, error가 발생하므로 이에 주의한다. 만일 key를 공식으로 사용하려면 clean build 후 make update-api를 실행하면 doc을 업데이트하며 다음 platform 빌드 시 발생하는 문제를 회피할 수 있다.

Posted by easy16
linux2018. 6. 20. 12:32

leej5@LeeJ5:~$ uname -a

Linux LeeJ5 3.13.0-137-generic #186-Ubuntu SMP Mon Dec 4 19:09:19 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux


leej5@LeeJ5:~$ lshw

WARNING: you should run this program as super-user.

leej5

    description: Computer

    width: 64 bits

    capabilities: vsyscall32

  *-core

       description: Motherboard

       physical id: 0


leej5@LeeJ5:~$ sudo lshw -short

H/W path      Device      Class          Description

====================================================

                          system         OptiPlex 5050 (07A2)

/0                        bus            0WWJRX

/0/0                      memory         64KiB BIOS

/0/9                      memory         16GiB System Memory

/0/9/0                    memory         8GiB DIMM Synchronous 2400 MHz (0.4 ns)

/0/9/1                    memory         8GiB DIMM Synchronous 2400 MHz (0.4 ns)

/0/9/2                    memory         [empty]

/0/9/3                    memory         [empty]

/0/f                      memory         256KiB L1 cache

/0/10                     memory         1MiB L2 cache

/0/11                     memory         8MiB L3 cache

/0/12                     processor      Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz

/0/100                    bridge         Intel Corporation

/0/100/1                  bridge         Sky Lake PCIe Controller (x16)

/0/100/2                  display        Intel Corporation

/0/100/14                 bus            Intel Corporation

/0/100/14.2               generic        Intel Corporation

/0/100/16                 communication  Intel Corporation

/0/100/17                 storage        SATA Controller [RAID mode]

/0/100/1f                 bridge         Intel Corporation

/0/100/1f.2               memory         Memory controller

/0/100/1f.3               multimedia     Intel Corporation

/0/100/1f.4               bus            Intel Corporation

/0/100/1f.6   eth0        network        Intel Corporation

/0/1          scsi0       storage

/0/1/0.0.0    /dev/sda    disk           1TB ST1000DM010-2EP1

/0/1/0.0.0/1              volume         498MiB Windows FAT volume

/0/1/0.0.0/2  /dev/sda2   volume         117GiB Windows NTFS volume

/0/1/0.0.0/3  /dev/sda3   volume         325GiB Windows NTFS volume

/0/1/0.0.0/4  /dev/sda4   volume         15GiB Linux swap volume

/0/1/0.0.0/5  /dev/sda5   volume         488MiB EXT4 volume

/0/1/0.0.0/6  /dev/sda6   volume         28GiB EXT4 volume

/0/1/0.0.0/7  /dev/sda7   volume         443GiB EXT4 volume

/0/2          scsi1       storage

/0/2/0.0.0    /dev/cdrom  disk           DVD+-RW GU90N


leej5@LeeJ5:~$ lscpu

Architecture:          x86_64

CPU op-mode(s):        32-bit, 64-bit

Byte Order:            Little Endian

CPU(s):                8

On-line CPU(s) list:   0-7

Thread(s) per core:    2

Core(s) per socket:    4

Socket(s):             1

NUMA node(s):          1

Vendor ID:             GenuineIntel

CPU family:            6

Model:                 158

Stepping:              9

CPU MHz:               3400.000

BogoMIPS:              7199.99

Virtualization:        VT-x

L1d cache:             32K

L1i cache:             32K

L2 cache:              256K

L3 cache:              8192K

NUMA node0 CPU(s):     0-7


출처 : https://www.tecmint.com/commands-to-collect-system-and-hardware-information-in-linux/

'linux' 카테고리의 다른 글

top 명령어 세부사항  (0) 2018.07.02
표준입출력 redirect  (0) 2018.06.25
ubuntu default /bin/sh is dash  (0) 2018.06.22
ubuntu samba 설정하기  (0) 2018.06.21
makefile 내장 함수  (0) 2018.06.19
Posted by easy16
android2018. 6. 19. 12:00


system app으로 사용하기 위해 다음과 같이 path를 변경함.


app/build.gradle


sourceSets {

main{

// let gradle pack the shared library into apk

//jniLibs.srcDirs = ['src/main/cpp/libtest']

jniLibs.srcDirs = ['src/libs']

}

}




"app/src/main/cpp/CMakeLists.txt"


cmake_minimum_required(VERSION 3.4.1)


#빌드된 library가 생성 될 경로를 지정


set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/../../../libs/")

add_library(test_jni SHARED IMPORTED)



set_target_properties(

test_jni



PROPERTIES IMPORTED_LOCATION



${CMAKE_SOURCE_DIR}/../../../libs//libtest/${ANDROID_ABI}/libtest_jni.so )



#include_directories(${CMAKE_SOURCE_DIR}/libtest/include/)

include_directories(${CMAKE_SOURCE_DIR}/../../../libs/libtest/include/)



find_library( # Sets the name of the path variable.

log-lib



# Specifies the name of the NDK library that

# you want CMake to locate.

log )



target_link_libraries(

native-lib



test_jni



${log-lib} )

   




해당 앱에서만 so file을 사용하기 위해 Android.mk를 수정, LOCAL_PREBUILT_JNI_LIBS_arm 변수 library path를 지정한다.


   

LOCAL_PREBUILT_JNI_LIBS_arm := app/libs/libnative-lib.so \

app/libs/libtest/armeabi-v7a/libtest_jni.so



빌드 결과 확인 


./priv-app/NDKSample/lib/arm/libtest_jni.so

./priv-app/NDKSample/lib/arm/libnative-lib.so



참조:

https://stackoverflow.com/questions/3742090/custom-directory-for-cmake-library-output

https://developer.android.com/ndk/guides/cmake

Posted by easy16