... |
... |
@@ -27,10 +27,16 @@ |
27 |
27 |
|
28 |
28 |
**SDK** |
29 |
29 |
|
30 |
|
-* 22 API Level 부터 31 API Level 까지 지원 |
|
30 |
+* 23 API Level 부터 33 API Level 까지 지원 |
31 |
31 |
|
32 |
32 |
((( |
33 |
33 |
{{warning}} |
|
34 |
+Android 13 이상에서 실행되거나 Android 13 이상을 타겟팅하는 앱은 실행 시 알람 허용 여부 권한을 설정해야 한다. |
|
35 |
+ |
|
36 |
+<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/> |
|
37 |
+{{/warning}} |
|
38 |
+ |
|
39 |
+{{warning}} |
34 |
34 |
Android 12 이상에서 실행되거나 Android 12 이상을 타겟팅하는 앱은, |
35 |
35 |
android:allowBackup="false"를 지정하면 Google Drive 백업이 사용 중지되지만 앱의 D2D 전송은 사용 중지되지 않는다. |
36 |
36 |
매니페스트 파일에서 android:dataExtractionRules 속성을 사용하여 앱이 새 XML 구성 메커니즘으로 포함 및 제외 규칙을 지정해야 한다. |
... |
... |
@@ -152,7 +152,7 @@ |
152 |
152 |
|
153 |
153 |
))) |
154 |
154 |
|
155 |
|
-Application Name 과 Package Name 을 설정 후 프로젝트 파일을 생성할 위치인 Save location 을 지정 하고, Minimum SDK 버전을 선택 한다. 현재 HONE Smart Platform 은 최소 20 (KitKat) 에서 최대 30 (Android 11) 을 지원 한다. 모두 기본 값으로 두고 Finish버튼을 선택 하면 Android Studio 가 프로젝트에 필요한 기본 파일들을 생성하게 된다. |
|
161 |
+Application Name 과 Package Name 을 설정 후 프로젝트 파일을 생성할 위치인 Save location 을 지정 하고, Minimum SDK 버전을 선택 한다. 현재 HONE Smart Platform 은 최소 23 (Marshmallow) 에서 최대 33 (Android 13) 을 지원 한다. 모두 기본 값으로 두고 Finish버튼을 선택 하면 Android Studio 가 프로젝트에 필요한 기본 파일들을 생성하게 된다. |
156 |
156 |
|
157 |
157 |
|
158 |
158 |
[[image:Picture8.png||height="432" width="600"]] |
... |
... |
@@ -233,26 +233,35 @@ |
233 |
233 |
{{code language="gradle"}} |
234 |
234 |
|
235 |
235 |
// KOTLIN |
236 |
|
-implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21" |
|
242 |
+implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0" |
237 |
237 |
|
238 |
|
-implementation "androidx.appcompat:appcompat: 1.4.1" |
|
244 |
+implementation "androidx.appcompat:appcompat: 1.5.1" |
239 |
239 |
implementation "androidx.legacy:legacy-support-v4:1.0.0" |
240 |
|
-implementation "androidx.vectordrawable:vectordrawable-animated:1.1.0" |
|
246 |
+implementation "androidx.vectordrawable:vectordrawable-animated:1.1.0 " |
241 |
241 |
implementation "androidx.media:media:1.6.0" |
242 |
|
-implementation "com.google.android.material:material:1.5.0" |
243 |
|
-implementation "androidx.exifinterface:exifinterface:1.3.3" |
|
248 |
+implementation "com.google.android.material:material:1.8.0" |
|
249 |
+implementation "androidx.exifinterface:exifinterface:1.3.6" |
244 |
244 |
implementation "androidx.multidex:multidex:2.0.1" |
245 |
|
-implementation "androidx.constraintlayout:constraintlayout:2.1.3" |
246 |
|
-implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.4.1" |
247 |
|
-implementation "androidx.lifecycle:lifecycle-process:2.4.1" |
248 |
|
-implementation "androidx.lifecycle:lifecycle-common-java8:2.4.1" |
249 |
|
-implementation "androidx.webkit:webkit:1.4.0" |
|
251 |
+implementation "androidx.constraintlayout:constraintlayout:2.1.4" |
|
252 |
+implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.5.1" |
|
253 |
+implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1 " |
|
254 |
+implementation "androidx.lifecycle:lifecycle-process:2.5.1" |
|
255 |
+implementation "androidx.lifecycle:lifecycle-common-java8:2.5.1" |
|
256 |
+implementation "androidx.lifecycle:lifecycle-viewmodel-savedstate:2.5.1 " |
|
257 |
+implementation "androidx.work:work-runtime:2.8.1" |
|
258 |
+implementation "androidx.work:work-runtime-ktx:2.8.1 " |
|
259 |
+implementation "androidx.concurrent:concurrent-futures:1.1.0 " |
|
260 |
+implementation "androidx.concurrent:concurrent-futures-ktx:1.1.0" |
|
261 |
+implementation "androidx.window:window:1.0.0" |
|
262 |
+implementation "androidx.window:window-java:1.0.0" |
|
263 |
+implementation "androidx.window:window-rxjava2:1.0.0 " |
|
264 |
+implementation "androidx.webkit:webkit:1.6.1" |
250 |
250 |
|
251 |
|
-implementation "org.slf4j:slf4j-api:1.7.32" |
252 |
|
-implementation "com.github.tony19:logback-android:2.0.0" |
253 |
|
-implementation "com.fasterxml.jackson.core:jackson-core:2.13.1" |
254 |
|
-implementation "com.fasterxml.jackson.core:jackson-annotations:2.13.1" |
255 |
|
-implementation "com.fasterxml.jackson.core:jackson-databind:2.13.1" |
|
266 |
+implementation "org.slf4j:slf4j-api:2.0.7" |
|
267 |
+implementation "com.github.tony19:logback-android:3.0.0" |
|
268 |
+implementation "com.fasterxml.jackson.core:jackson-core:2.13.3" |
|
269 |
+implementation "com.fasterxml.jackson.core:jackson-annotations:2.13.3" |
|
270 |
+implementation "com.fasterxml.jackson.core:jackson-databind:2.13.3" |
256 |
256 |
implementation "com.squareup.okhttp3:okhttp:3.11.0" |
257 |
257 |
implementation "com.j256.ormlite:ormlite-android:6.1" |
258 |
258 |
implementation "io.reactivex.rxjava2:rxjava:2.2.21" |
... |
... |
@@ -262,11 +262,11 @@ |
262 |
262 |
api 'com.google.zxing:core:3.2.1' |
263 |
263 |
|
264 |
264 |
// For libhone-beacon library |
265 |
|
-implementation "org.altbeacon:android-beacon-library:2.19.4" |
|
280 |
+implementation "org.altbeacon:android-beacon-library:2.19.5" |
266 |
266 |
|
267 |
267 |
// For libhone-gallery library |
268 |
|
-implementation "com.github.bumptech.glide:glide:4.13.2" |
269 |
|
-kapt "com.github.bumptech.glide:compiler:4.13.2" |
|
283 |
+implementation "com.github.bumptech.glide:glide:4.15.1" |
|
284 |
+kapt "com.github.bumptech.glide:compiler:4.15.1" |
270 |
270 |
|
271 |
271 |
// For libhone-nfc library |
272 |
272 |
implementation "com.google.guava:guava:31.1-jre" |
... |
... |
@@ -329,6 +329,7 @@ |
329 |
329 |
|
330 |
330 |
buildFeatures { |
331 |
331 |
dataBinding true |
|
347 |
+ viewBinding true |
332 |
332 |
} |
333 |
333 |
} |
334 |
334 |
|
... |
... |
@@ -350,6 +350,7 @@ |
350 |
350 |
|
351 |
351 |
// secure storage 이용시 아래 내용 추가 |
352 |
352 |
exclude "lib/mips/librealm-jni.so" |
|
369 |
+ exclude "lib/armeabi/librealm-jni.so" |
353 |
353 |
} |
354 |
354 |
} |
355 |
355 |
{{/code}} |
... |
... |
@@ -465,9 +465,36 @@ |
465 |
465 |
xmlns:tools="http://schemas.android.com/tools" |
466 |
466 |
android:installLocation="preferExternal"> |
467 |
467 |
|
|
485 |
+ <uses-feature android:name="android.hardware.location.gps" /> |
|
486 |
+ |
|
487 |
+ <uses-permission android:name="android.permission.CAMERA" /> |
|
488 |
+ <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> |
|
489 |
+ <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> |
|
490 |
+ <uses-permission android:name="android.permission.GET_ACCOUNTS"/> |
|
491 |
+ <uses-permission android:name="android.permission.READ_PHONE_STATE"/> |
|
492 |
+ <uses-permission android:name="android.permission.READ_PHONE_NUMBERS" /> |
|
493 |
+ <uses-permission android:name="android.permission.READ_CONTACTS"/> |
|
494 |
+ <uses-permission android:name="android.permission.WRITE_CONTACTS"/> |
|
495 |
+ |
|
496 |
+ <!-- For libhone-beacon library --> |
|
497 |
+ <uses-permission android:name="android.permission.BLUETOOTH"/> |
|
498 |
+ <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/> |
|
499 |
+ <uses-permission android:name="android.permission.BLUETOOTH_CONNECT"/> |
|
500 |
+ <uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE"/> |
|
501 |
+ <uses-permission android:name="android.permission.BLUETOOTH_SCAN"/> |
|
502 |
+ |
|
503 |
+ <!-- API 26+ --> |
|
504 |
+ <!-- oprations 을 통한 앱 배포 및 설치 시 아래의 권한을 설정해야 한다. --> |
|
505 |
+ <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" /> |
|
506 |
+ |
|
507 |
+ <!-- Android 13 (API level 33) 앱 실행 시 알람 허용 여부 권한 설정 필요; --> |
|
508 |
+ <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/> |
|
509 |
+ |
468 |
468 |
<application |
469 |
469 |
android:name=".MainApp" |
470 |
470 |
android:allowBackup="false" |
|
513 |
+ android:fullBackupContent="false" |
|
514 |
+ android:dataExtractionRules="@xml/data_extraction_rules" |
471 |
471 |
android:hardwareAccelerated="true" |
472 |
472 |
android:icon="@mipmap/ic_launcher" |
473 |
473 |
android:roundIcon="@mipmap/ic_launcher_round" |
... |
... |
@@ -475,11 +475,13 @@ |
475 |
475 |
android:label="@string/app_name" |
476 |
476 |
android:theme="@style/HoneTheme" |
477 |
477 |
android:requestLegacyExternalStorage="true" |
|
522 |
+ android:preserveLegacyExternalStorage="true" |
478 |
478 |
android:networkSecurityConfig="@xml/network_security_config" |
479 |
479 |
tools:ignore="GoogleAppIndexingWarning"> |
480 |
480 |
|
481 |
481 |
<activity |
482 |
482 |
android:name=".MainActivity" |
|
528 |
+ android:exported="true" |
483 |
483 |
android:label="@string/app_name" |
484 |
484 |
android:theme="@style/HoneSplash" |
485 |
485 |
android:screenOrientation="portrait"> |