안드로이드 스튜디오

자주 쓰게 되는 것만 정리


Ctrl + D : 라인복제 또는 선택블록 복제

Ctrl + Y : 라인삭제


소스코드 정렬

Ctrl + Alt + L


Import 정리

Ctrl + Alt + O


Surround With (if / else, try / catch 등 블록 자동생성)

Ctrl + Alt + T


선언된 곳 찾아가기

Ctrl + B 또는 Ctrl + Click(Mouse)


Ctrl + Delete : 단어 끝까지 삭제

Ctrl + Backspace : 단어 처음까지 삭제


소스 코드 줄 이동

Alt + Shift + Up : Move Line Up

Alt + Shift + Down : Move Line Down


메소드 이동

Alt + Up : Move Up

Alt + Down : Move Down


Ctrl + Alt + I : 자동 들여쓰기


Shift + F6 : 이름 바꾸기

Alt + Delete : 안전하게 삭제(지우기전에 사용된곳 확인 가능)


Alt + Up/Down : 이전/다음 함수 이동

Ctrl + ] / [ :  코드블럭 처음/끝 이동



shift + F9 : 디버그 실행
F9 : 다음 중단점까지 진행
F7 : 중단점의 메소드 속으로 들어가서 진행
shift + F8 : 메소드 속에 들어갔던 진행에서 메소드를 빠져나옴
F8 : 한줄씩 실행
Alt + F9 : 커서를 원하는 라인에 놓고 누르면, 커서가 있는 곳까지 실행
하지만 중간에 중단점이 있으면 중단점까지 실행
Ctrl + Alt + F9 : 커서가 있는 위치까지 실행, 중간에 중단점이 있어도 무시
Ctrl + Shift + F8 : 모든 중단점 위치 확인
Ctrl + F2 : 디버그모드 종료. 일반 실행 모드로 전환


그 밖에 참고

http://www.androidside.com/bbs/board.php?bo_table=B56&wr_id=26482

http://kkangeva.tistory.com/42



서명된 apk를 생성하고 기존 마켓버전에서 업데이트 되나 설치해보는데 자꾸 설치가 실패했다.


versionCode, versionName 모두 +1씩 해주었는데도 말이다.


알고보니 안드로이드 스튜디오는 AndroidManifest.xml 에서 버전코드와 네임을 관리하는게 아니었다..



기존 이클립스에서 AndroidManifest.xml 을 살펴보면



이렇게 되어있는데 안드로이드 스튜디오는 build.gradle 에서 변경해주어야 한다.


들어가보니 프로젝트를 처음 생성해서 versionCode 와 versionName이 모두 1로 되어있었다.




그래서 AndroidManifest.xml 에 있는 버전보다 +1 변경해주었다




그리고 다시 apk를 생성하고 업데이트 설치를 해보니 정상적으로 되었다!








Android Studio 에서 서명된 apk를 생성하려고 했더니 이런 에러가 떴다.


Error:(24) Error: "none" is not translated in "en" [MissingTranslation]

(*어느 언어냐에 따라 "en" "vi" "th" 등등 다르게 나타남)


보니까 다국어에서 문제가 생겼는데 프로젝트는 이클립스에서는 문제가 없었던 거였다.



그래서 찾아보니 안드로이드 스튜디오에서는 string.xml 이 모두 같아야 한다고 한다.


즉 위 에러를 보면


<string name="none">none</string>


이 코드가 "vi"에서 번역되지 않았다고 뜬다. 베트남어에서 none 항목이 없다는 것이다.


현재 다국어 구조가



이렇게 한국,영어,대만,베트남 4개로 되어있는데


베트남의 string.xml 에만


<string name="none">none</string>


이 항목이 번역되지 않았다는 것이다.



이 문제를 해결하려면


values-vi 의 strings.xml 로 들어가


<string name="none">none</string>


이걸 추가해준 뒤 다시 서명된 apk를 생성하면 해결된다.





프로젝트 내에 libs 폴더를 만들고 안에 라이브러리 파일은 넣은 후 우클릭

Add as Library 클릭





나오는 창에서 app을 선택 후 ok 하면 추가된다.







고난의 연속.. Eclipse에서 Android Studio로 넘어오려고 애쓰는데 스트레스만 받고 있었다.

이클립스에 있던 프로젝트를 import 해도 계속 에러에러에러... 

결국 그냥 안드로이드 스튜디오에서 새 프로젝트만들고 거기다 붙여넣어 보는 식으로 어찌어찌 해결하다가 갑자기 왠 아웃오브메모리???


대략 이런 에러가 발생


Error:UNEXPECTED TOP-LEVEL ERROR:


Error:java.lang.OutOfMemoryError: GC overhead limit exceeded


:app:transformClassesWithDexForDebug FAILED


Error:Execution failed for task ':app:transformClassesWithDexForDebug'.


> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_05\bin\java.exe'' finished with non-zero exit value 3


버틸 수가 없었다. 내 한계에 부딪히는듯 했다.

찾아보니 build.gradle 파일에서 defaultConfig 에 multiDexEnabled true를 추가해주래서 했는데 해결이 되지 않았고

질문 게시판에 올려보았는다 친철한 분께서 다음과 같은 제안을 해주셨다.

build.gradle 파일에 android 내부에 다음 코드를 넣어보세요


dexOptions {

  jumboMode true

  javaMaxHeapSize "4g"



바로 적용해보았더니 오오오오 아웃오브메모리 에러가 사라졌다.

감동적인 순간이었다. 앱이 실행이 되다니..

아래와 같이 적용했다.


 



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
apply plugin: 'com.android.application'
 
android {
    compileSdkVersion 23
    buildToolsVersion "23.0.3"
 
    defaultConfig {
        applicationId "패키지네임"
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
//dexOptions 추가
    dexOptions {
        jumboMode true
        javaMaxHeapSize "4g"
    }
}
cs




물론 이게 100% 해결책이 아닐 수 있다. 언제나 그랬듯이 남의 해결책이 나의 해결책이 되진 않기 때문에..


여기까지 오기에 많은 에러가 있었는데 그 에러들이 어떻게 해결되었는지는 모르고 어찌어찌 넘어왔다.

 

그 에러들 해결방법도 다시 찾아봐야겠다.





Android Studio auto import

2016.06.01 18:18

http://answerofgod.tistory.com/entry/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EC%8A%A4%ED%8A%9C%EB%94%94%EC%98%A4-Auto-import

+ Recent posts