사실 내 주력 IDE는 Visual studio인데..

Intellisense(자동완성) 사용시 대/소문자 무시가 기본으로 되어 있는데

Android Studio는 그렇지 않다 (Case sensitive)

너무 불편해서 궁시렁궁시렁 하고 쓰다가 방법을 알았다(무지 간단...)

 

* File - Settings - Editor > General > Code Completion > Case sensitive completion 을 None 으로 바꿔주면 된다.

 

나와 다른 버전의 Android Studio 사용자의 경우 Match Case라는 항목이 있는데 이걸 체크 해제해주면 된다

 

이제 굳이 대/소문자 맞추지 않더라도 원하는 오브젝트들을 수월하게 찾을 수 있다

activi -> Activity 찾아짐

 

최근(꽤 됐지만 나는 최근에 알았으니까...) Github에서 무제한 Private repository 를 제공한다는 소식을 들었다!!

https://github.blog/2019-01-07-new-year-new-github/

(제약이 있으나 개인 저장용으로는 충분)

 

비용으로 조금이라도 아끼고자 Bitbucket을 사용하다가

Github로 갈아타기로 결정!!

 

* 준비물

1. Github 계정(없으신분은 일단 가입부터.. https://github.com/join)

2. Git이 설치되어 있는 PC (설치는 https://git-scm.com/downloads)

3. Android Studio

- File - Settings - Version Control - Github에서 계정 연동 (Auth Type-Password)

 

 

* 순서

0. Android studio 실행, 개발중인 프로젝트 열기

1. VCS - Enable Version Control Integration

 

2. Git 선택

 

3. VCS - Import into Version Contol - Share Project on GitHub

 

4. 저장소(Repository) 이름과 설명 입력 (비공개용일 경우 Private 반드시 체크) -> Share 버튼 클릭

5. 나는 다 체크했고, Commit Message 를 입력해 주었다.

 

6. 완료!!

프로젝트를 복제해서 쓰고 싶은데, 기존 git 연결이 신경쓰일 때,,

프로젝트 디렉토리에 가서 아래 표시된 .git 디렉토리를 지우면 깔-끔

 

.git 디렉토리 제거

 

단순히 현재 프로젝트의 연결을 제거하고 싶을 때,

File - Settings - Version Control 에서 지워주면 된다.

기본적인 틀이 있는 템플릿을 소개한 웹페이지를 공유합니다.


시간 단축 많이 할 수 있겠죠?


https://code.tutsplus.com/articles/15-best-android-app-templates-of-2017--cms-29643

AndroidManifest.xml 의 모든 application, activity, service 태그에 android:process=":location" 속성을 추가한다


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.package.test">

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

    <application
        android:process=":location"
        android:allowBackup="true"
        android:icon="@mipmap/icon"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/icon"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity"
            android:process=":location"
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <service
            android:process=":location"
            android:name=".LocationService"
            android:enabled="true" />
    </application>

</manifest>


* 출처

https://stackoverflow.com/questions/25049176/java-lang-classcastexception-android-os-binderproxy-cannot-be-cast-to-localbind


* Android Studio 의 터미널에서 아래 명령어를 실행한다 - 삼성 기계는 가능하다고 한다!

adb backup -f data.ab <my.package>

adb.exe의 위치는? http://sjuu.tistory.com/71


* abe(Android Backup Extractor) 를 다운로드 받는다

https://sourceforge.net/projects/adbextractor/

다운로드 후 압축을 풀고, 필요한 abe.jar가 있는 디렉토리 경로를 파악한다.

\android-backup-tookit\android-backup-extractor\android-backup-extractor-20180521-bin\ 에 abe.jar가 있었다


* 백업된 데이터를 추출한다

- (그럴 일은 없겠지만) java가 설치되어 있지 않은 경우 설치 한다.

- 아래 명령어를 실행

java.exe -jar abe.jar unpack data.ab data.tar ""


* 출처

https://stackoverflow.com/questions/37413667/run-as-could-not-set-capabilities-operation-not-permitted

https://stackoverflow.com/questions/18533567/how-to-extract-or-unpack-an-ab-file-android-backup-file


* Linux / Unix / Mac OS X

- which java


* Windows

- where java

C:\Users\[user]\AppData\Local\Android\sdk\platform-tools 여기서 실행한다!!

Known Issue

If you run into the following issue: "More than one file was found with OS independent path 'META-INF/proguard/androidx-annotations.pro'", please put the following in your gradle file as a temporary workaround while we fix the issue in alpha10:


AndroidX 버전 alpha10 오류라는데 아직도(지금 2.0.0아닌가) 해결이 안되었다


해결법은 간단하다


build.gradle(app) 파일에 아래와 같이 추가해주면 된다.



packagingOptions {
    exclude 'META-INF/proguard/androidx-annotations.pro'
}

* 전체적으로 보면 이렇게
android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.sjuu.appid"
        minSdkVersion 23
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    packagingOptions {
        exclude 'META-INF/proguard/androidx-annotations.pro'
    }
}


안드로이드 개발시 이런 저런 라이브러리를 Gradle에 추가하다 보면,

dependencies 항목 초반에 있는 'com.android.support:appcompat-v7:28.0.0' 항목에 빨간 줄이 가면서!!!

빌드는 되는데 경고 메시지와 빨간줄이 나를 불편하게 하고 계신 분들이 있을것입니다.


아래와 같이 말이죠.

All com.android.support libraries must use the exact same version specification (mixing versions can lead to runtime crashes).
Found versions 28.0.0, 26.1.0. Examples include com.android.support:animated-vector-drawable:28.0.0 and com.android.support:mediarouter-v7:26.1.0


크래시가 발생할 수도 있답니다.

다행히 안드로이드 스튜디오 3.0 부터는 저 풍선 도움말이 실제로 도움이 되는 힌트를 줍니다.

com.android.support:mediarouter-v7 의 버전이 26.1.0 으로 낮다는 거잖아요?

이 라이브러리를 Gradle에 28.0.0 버전으로 추가해주면 됩니다.

아래와 같이 말이죠

(두번째 줄도 저 풍선 도움말에서 알려준 라이브러리를 추가한거에요)

implementation 'com.android.support:mediarouter-v7:28.0.0'
implementation 'com.android.support:support-v4:28.0.0'


빨간 물결줄이 없어졌습니다!!

해결 완료!!


+ Recent posts