ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [아두이노]/[PC] 시리얼 통신 - android studio migration Ver
    ANDROID 2017. 8. 25. 01:00
    반응형

    [아두이노]/[PC]  시리얼 통신 - android studio migration Ver




    구글을 검색하다 보면 쉽게 Eclipse 버전 USB Serial 통신 예제를 구할 수 있다.

    (setup 설정도 다 Eclipse 에 맞게 설명되어있다)


    하지만 , 이젠 개발자들 대부분 안드로이드 개발할 때 이클립스를 버리고 안드로이드 스튜디오로 넘어온 이 시점에.. 이클립스로 프로젝트를 진행 할 순 없었다.



    1. 샘플 소스준비


    https://github.com/godstale/Arduino-Serial-Controller


    https://github.com/mik3y/usb-serial-for-android



    두 곳 들려서 다운받고 zip 풀어둔다.



    2. Setup 하기




    두가지 를 준비했으면,







    2-1. import Project (Eclipse ADT)

    Arduino-Serial-Controller-master 디렉토리 임포트


    사진에 보이는 import project 를 클릭  --> Create project from  existing Sorces 








    그 다음은 Next 만 계속 눌러서 끝내면 된다.





    이렇게 까지 나왔으면 완료! 

    당연히 JAVA 파일만 있으므로 Run 은 안된다.




    2-2. usb-serial-for-android-master 프로젝트 import 하기.


    [File] - [New] - [import Project] 메뉴 선택



    usb-serial-for-android-master/usb-serial-for-android-master  디렉토리 임포트 


    (usb-serial-for-android-master 디렉토리 말고! usb-serial-for-android-master/usb-serial-for-android-master 디렉토리를 import 한다! 이미지를 잘 봐주세요)




    ok 까지 누르면 스튜디오가 하나 더 켜지면서 빌드가 될것이다.



    자! 여기서 스튜디오를 다 끄고 두번째 이미지의 화면으로 가서 

    open an exist android studio project 클릭하면 아래같은 화면이 뜰것이다. 

    푸른색으로 커서가 클릭된 프로젝트를 오픈한다.

    이미지를 보면 저 안에 usbserialExamples , usbserialForAndroid 가 들어있는게 보인다. 위 과정으로 최종적으로 만들어진 프로젝트가 아래의 푸른색 커서가 올라간 프로젝트다! 




    오픈하면 으음~? 갑자기 업데이트 하라고하네.. 하란대로 업데이트를 한다!


    여기까지 했으면 Setup까지 완료되었다.

    이제부터는 프로젝트 Run 을 위한 자잘한 오류를 잡는다.



    3. 빌드실패 오류 잡기


    사실 위 포스팅을 하기 위해 총 3번의 과정을 했다.


    1. 사무실에서 하기 (결론은 실패)

    2. 집에서 하기(결론은 성공, 캡쳐를 안해서 다시 진행)

    3. 글 쓰면서 하기(성공)



    그런데 3번의 과정 모두 동일한 오류가 동일한 순서대로 나왓다. 아마 이 글을 보고 따라하시는 분들 대부분이 똑같은 오류를 똑같은 순서로 해결하면 될듯하다.

    캡쳐는 없습니다. 글을 읽고 간단히 해결 가능합니다



    3-1. 


    Warning:Android Studio 2.3.3.0 requires Gradle 2.14.1 (or newer) but project is using version 2.2.1.

    It is strongly recommended that you update Gradle to version 2.14.1 or newer.

    <a href="fixGradleElements">Fix Gradle version (as part of the update, the Android plugin will be updated to version 2.3.3)</a><br><a href="https://developer.android.com/studio/releases/index.html#Revisions">Open Documentation</a>


    푸른색 글씨 클릭해서 update 진행해서 해결


    3-2.


    Gradle 'usb-serial-for-android-master' project refresh failed

    Error:Application and test application id cannot be the same: both are 'com.hoho.android.usbserial.examples' for debugAndroidTest


    "com.hoho.android.usbserial.examples" 가 동일하면 안된다고 한다.


    build.gradle(Module:usbSerialExamples) 파일의 


    testApplicationId "com.hoho.android.usbserial.examples"

    testApplicationId "com.hoho.android.usbserial.examples2" 로 "2"만 추가로 붙여 이름을 바꿧다.

    try Again 눌른다.





    3-3.


    Error:The SDK Build Tools revision (19.1.0) is too low for project ':usbSerialForAndroid'. Minimum required is 25.0.0

    <a href="install.build.tools">Install Build Tools 25.0.0, update version in build file and sync project</a><br><a href="openFile:D:/AndroidStudioProjects_201708/usb-serial-for-android-master/usb-serial-for-android-master/usbSerialForAndroid/build.gradle">Open File</a>


    Error:The SDK Build Tools revision (22.0.1) is too low for project ':usbSerialExamples'. Minimum required is 25.0.0

    <a href="install.build.tools">Install Build Tools 25.0.0, update version in build file and sync project</a><br><a href="openFile:D:/AndroidStudioProjects_201708/usb-serial-for-android-master/usb-serial-for-android-master/usbSerialExamples/build.gradle">Open File</a>



    SDK 버전 19.1.0,22.0.1  이 너무 낮단다.. 최소 25.0.0 이란다.. 푸른색 글씨를 클릭해서 update 해준다.


    이제 Run 을 누르면 빌드가 될것이다.



    4. 프로그램 오류 잡기


    사실 프로그램 오류잡기.. 라고 타이틀을 칭하기도 브끄럽다..ㅎㅎ


    시리얼 데이터를 받아보면 아마(보드레이트가 맞는다면 잘 나올것이당)


    0x000000 00 00 00 00 00...... 이런식으로 깨질것이다.

    나의 경우는 보드레이트가 9600인데, 


    \usb-serial-for-android-master\usb-serial-for-android-master\usbSerialExamples\src\main\java\src\com\hoho\android\usbserial\examples\SerialConsoleActivity.java

    파일의

      sPort.setParameters(115200, 8, UsbSerialPort.STOPBITS_1, UsbSerialPort.PARITY_NONE); 를 보면 

    마이그레이션 하는도중 9600 보드레이트가 --> 115200 으로 올라가버린게 보인다


    이걸 자신의 보드레이트(9600)에맞추니 잘 나온다. 





    여기까지 했으면 Eclipse - > Android Studio 마이그레이션이 모두 끝났다.


    하... IOS 배포 포스팅 이후 가장 정성을 쏟은 글 같다..도움이 되었다면 클릭한번! 해주고 가세요~


    반응형

    댓글

Designed by Tistory.