2018년 2월 6일 화요일

Ajax cross domain 처리 - Android Phonegap

Andorid 프로젝트에서 다음 명령을 사용하여 whitelist plugin 을 추가한다.

----------------------------------------------------------------------------------------------
> cordova plugin add cordova-plugin-whitelist
Fetching plugin "cordova-plugin-whitelist" via npm
Installing "cordova-plugin-whitelist" for android

               This plugin is only applicable for versions of cordova-android gr
eater than 4.0. If you have a previous platform version, you do *not* need this
plugin since the whitelist will be built in.


> cordova prepare

----------------------------------------------------------------------------------------------


만약 아래와 같은 라는 메시지가 출력되면 Android 프로젝트의 폴더 구조가 달라서 발생하는 에러이다.
www 폴더등을 지웠다면 폴더를 다시 생성해야 plugin 을 설치할 수 있다.

----------------------------------------------------------------------------------------------
> cordova plugin add cordova-plugin-whitelist
Current working directory is not a Cordova-based project.

----------------------------------------------------------------------------------------------

2018년 2월 4일 일요일

Fail to load dx.jar 메시지 출력시 - Android Phonegap

에러 메시지 :

Error:Android Dex: [classes.jar] Failed to load dx.jar
Error:Android Dex: [classes.jar] java.lang.ClassNotFoundException: com.android.dx.command.DxConsole
Error:Android Dex: [classes.jar] at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
Error:Android Dex: [classes.jar] at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
Error:Android Dex: [classes.jar] at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
Error:Android Dex: [classes.jar] at org.jetbrains.android.compiler.tools.AndroidDxRunner.loadDex(AndroidDxRunner.java:80)
Error:Android Dex: [classes.jar] at org.jetbrains.android.compiler.tools.AndroidDxRunner.runDex(AndroidDxRunner.java:136)
Error:Android Dex: [classes.jar] at org.jetbrains.android.compiler.tools.AndroidDxRunner.main(AndroidDxRunner.java:336)
Error:Android Dex: [classes.jar] Exception in thread "main" java.lang.NullPointerException
Error:Android Dex: [classes.jar] at org.jetbrains.android.compiler.tools.AndroidDxRunner.runDex(AndroidDxRunner.java:139)


해결책 : android SDK Build-Tools 의 버젼을 25.0.3 버젼을 사용한다.

Tools -> Android -> SDK Manager -> SDK Tools tab -> check "Show package details"



2018년 2월 2일 금요일

Phonegap 으로 Android 프로젝트 생성 - windows 환경

1) 아래 링크에서 다운받아 JDK 를 설치한다.
    http://www.oracle.com/technetwork/java/javase/downloads/index.html

2) 아래 링크의 프로그램을 다운받아 Node JS 를 설치한다.
    https://nodejs.org/en/

3) 아래 링크에서 binary 파일을 다운받아 Apache Ant 를 설치한다.
    http://ant.apache.org/bindownload.cgi

4) 아래 링크에서 Android Studio 를 설치한다.
    https://developer.android.com/studio/index.html
    이전버젼 : https://developer.android.com/studio/archive.html

5) Android Studio 를 실행하여 필요한 SDK 를 설치한다.
    Tools -> Android -> SDK Manager
 



6) 환경변수를 잡아준다.
  • JAVA_HOME 설정
       ex) C:\Program Files\Java\jdk1.8.0_60

  • ANT_HOME 설정
       ex) D:\DevTools\apache-ant-1.9.6-bin\apache-ant-1.9.6

  • PATH 설정
       Java : ex) %JAVA_HOME%\bin;
       Android SDK : ex) D:\DevTools\android-sdk\platform-tools;
                               D:\DevTools\android-sdk\tools;

       Node JS : ex) C:\Program Files\nodejs\;
       Apache Ant :  ex) D:\DevTools\apache-ant-1.9.6-bin\apache-ant-1.9.6\bin;
     

7) Phonegap 설치
   window 의 Command 창에서 아래 명령어로 Phonegap 을 설치한다.
   npm install -g phonegap


8) Phonegap 프로젝트 생성
   phonegap create [생성할 폴더] [Package 명] [프로젝트명]
   D:> phonegap create ./MobileWinusApp com.logisall.mobilewinus MobileWinus
       

       
9) 생성된 프로젝트에 Android Library 추가
   cordova platform add android


10) Android Studio 를 띄워서 Project 를 Import 한다.
     File -> New -> Import Project