Skip to main content

[배포] 안드로이드에서 특정기기에만 배포하기

안드로이드 개발 완료 후 갤럭시 노트 시리즈에만 배포해야할 일이 생겼습니다.

다음은 특별한 설정없이 기본적으로 기기의 permission 또는 버전으로 필터링된 경우의 “지원되는 기기”입니다.

이전에는 각각의 모델을 제조사 또는 기기모델별로 한번에 해제 하는게 있었던거 같은데 -_- 하나하나 클릭하기도 힘들어보이고

특정한 모델에만 배포해야 할 경우 Google Play Console에서 모든 기기의 체크박스를 해제 해야하는 경우가 생깁니다.

(하나하나 체크 해제 하는건 너무 무모한거 같에요 ㅋㅋㅋ)

 

이런 경우 앱의 AndroidManifest.xml을 수정하여 출시되는 기기에 대한 필터링을 걸 수 있습니다.

해당기기를 Play Console의 기기 카탈로그에서 검색해봅니다.

 

그리고 해당기기(노트 시리즈)에 특정한 기능을 확인합니다.  s-pen의 기능은 com.sec.feature.spen_usp 입니다.

(얼굴 관련된것도 보이고 카메라 등등 여러가지가 있습니다. 다 뭐하는건진 모르겠지만요 -ㅅ-… )

 

해당하는 기능을 확인했으니  AndroidManifest.xml를 편집해봅시다.

 
 <uses-feature android:name="com.sec.feature.spen_usp" android:required="true"/>

이렇게 추가하고 빌드 후 APK를 다시 업로드 해봅니다.

 

 

 

그러면 해당 기기만 배포할 수 있습니다.

 

라이브러리가 없어서 오류가 나거나 하진 않겠죠 ^^

 

(오랜만에 글을 적었네요 -_- )

Android Studio, IntelliJ 에디터 계열 복사 갯수 늘리기

복붙…. 그렇다 복사해서 붙여넣기…..

Android Studio, PyCharm 등 IntelliJ 계열 툴에서 클립보드 기능을 활용해 보았습니다.

-ㅅ-) ..

복사는 Ctrl + C 이고 여러번 복사 해보면 툴 자체의 클립보드에 누적되게 됩니다.

Ctrl + V 했을 때는 최근 것이 붙여 넣어지지만

Ctrl + Shift + V 하게되면 그동안 복사 했던 것을 선택해서 붙여넣기를 할 수 있습니다.

기본적으로  5개 밖에 안되고 Ctrl + C 할 때마다 갱신됩니다.

물론 세팅에서 바꿀 수는 있습니다.

메뉴에서 File > Settings > Editor > General > Limits > Maximum number of contents keep in clipboard

갯수를 조정하시면 됩니다. +ㅁ+)

 

굿잡 -ㅅ-)b

Android layout Attribute deprecated.

첨에는 좀 난감했는데 -_-;;

EditText에 사용하는 속성들이 변경사항이 있어 기록해 둘려고 합니다.

EditText에 사용하는 비밀번호 폼으로 만들기 위한 android:password=”true” 는 더이상 사용이 안되는거 같네요…
android:inputType=”textPassword” 로 교체되었고 경우에 따라서 android:inputType=”numberPassword”를 사용할 수도 있습니다.
inputType속성은 이메일을 입력 받거나 날짜 등등…. EditText를 탭시 나타나는 키보드의 레이아웃을 조정할 수 있습니다.

그리고 EditText 특성상 엔터가 들어가면 여러줄로 늘어나기도 하는데 이때 사용하는 android:singleLine=”true”도 Deprecate 되었습니다.
대신, android:maxLines=”1″ 을 사용할 수있게 되었어요….

빌드하다 오류는 나지 않지만 코드상에서 drprecated…. 라며 사선이 끄여져 있어 신경쓰여서 수정해보았습니다. ㅎㅎ

Android Studio에서 preview 한글 문제

안드로이드 스튜디오에서 SDK 버전업을 하고나서 갑자기 한글이 안되서 그대로 사용하고 있었는데

찾아보니 방법이 있어서 해결봤습니다.

다만… 약간의 삽질이 있어서 글로 기록해둘려고 포스팅 해봅니다.
ㅋㅋㅋ

우선 한글 적용 방법은

<안드로이드 스튜디오 홈폴더>\plugins\android\lib\layoutlib\data\fonts\fonts.xml 파일을 에디터 합니다.

그리고 다음 부분을 찾아주세요… lang=”ko” 대략 248번째줄쯤 되네요…

    
        NotoSansCJK-Regular.ttc
    
    
        NotoSansCJK-Regular.ttc
    
    
        NotoColorEmoji.ttf
    

이 부분에 폰트 부분을 NanumGothic.ttf로 바꿉니다. 원래폰트는 ttc 인데 ttf로 바꾸는겁니다. ^^


    
        NotoSansCJK-Regular.ttc
    
    
        NanumGothic.ttf
    
    
        NotoColorEmoji.ttf
    

자세히 안보고 확장자를 그대로 두어서 -_-
해도 안되는구나 생각했는데 확장자 문제 때문에 안되고 있었네요 ㅋㅋ

설정도 꼼꼼하게 코딩도 꼼꼼하게 -ㅅ-)b

Android Build를 위한 Local Repository를 만들자 (2/2)

이번 포스트에서는 sonatype Nexus를 세팅해봅시다.

기존의 프로세스는 jcenter -> 개발PC에 다운로드 -> 빌드시에 사용 입니다..

우리가 할려는 대략적인 구조는 다음과 같습니다.
jcenter -> Local Repository -> 개발PC에 다운로드 -> 빌드시에 사용.

( 패키지를 찾아서 일일이 Local에 등록시켜 놓는것도 보통일이 아니기에… -_- )

우선 Nexus에 로그인합니다. 그러면 다음과 같이 메뉴가 나타납니다. Repositores를 클릭합니다.

nexus_repos2

그런다음 Add를 클릭하여 Proxy Repository를 클릭합니다.
nexus_repos3

이름은 마음에드는 “아무거나”로 하시고 다음과 같이 세팅합니다.
nexus_repos4

그럼 세팅이 완료 되었습니다.

여기서 중요한 것은 생성된 repository의 주소입니다. 나중에 이 주소가 Android 빌드시에 사용되게 됩니다.
nexus_repos5

다시 Android 프로젝트로 돌아와서….
Build.gradle(Project:아무거나) 파일을 열어주세요. 그리고 앞에서 생성한 repository 주소를
다음과 같이 편집해주세요.

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    /*
    repositories {
        jcenter()
    }
    */
    repositories {
        maven {
            url "http://repo.teracle.com:8081/nexus/content/repositories/trproxy/"
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.0.0'
        classpath 'com.google.gms:google-services:1.3.0-beta1'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    /*
    repositories {
        jcenter()
    }
    */
    repositories {
        maven {
            url "http://repo.teracle.com:8081/nexus/content/repositories/trproxy/"
        }
    }

}

이 파일을 편집하게 되면 편집툴 상단에 Sync Now 라는 링크가 표시됩니다. 수정이 완료되면
클릭해주세요.

그리고 다시 nexus로 돌아가보면….
nexus_repos6

빌드시에 사용했던 패키지들이 Local Repository에 넘어와 있는 것을 확인할 수 있어요!

끗 -ㅅ-)