티스토리 뷰

💼 정보 ver1.0

Sencha Touch2 Hybird App 셋팅

James Wetzel 2013. 6. 10. 16:01

1. 안드로이드 개발 환경 구축(http://developer.android.com/sdk/index.html)

eclipse, JDK, Android SDK, ADT를 다운로드 받은 후 설치한다.


2. PhoneGap을 다운로드 받은 후 압축을 해제한다.(http://phonegap.com/)


3. "Android Application Project"를 생성한 후 PhoneGap라이브러리 파일을 추가한다.

cordova-2.7.0.js, cordova-2.7.0.jar, config.xml


4. "AndroidManifest.xml", "MainActivity.java" 파일을 수정한다.


5. Sencha Touch2로 개발한 파일을 "assets/www/" 폴더에 복사한다.


6. AVD를 이용하여 가상 디바이스를 생성한 후 테스트 한다.

"핸드폰 -> 환경설정 -> 개발자 옵션 -> USB 디버깅"을 체크하면 핸드폰으로 테스트할 수 있다.

삼성 통합 USB 드라이버 설치(http://local.sec.samsung.com/comLocal/support/down/kies_main.do?kind=usb)



3번 수행시 참조

안드로이드 프로젝트 -> assets -> www(폴더생성) -> cordova-2.7.0.js 파일 복사

안드로이드 프로젝트 -> libs -> cordova-2.7.0.jar 파일 복사

안드로이드 프로젝트 -> res -> xml -> config.xml 파일 복사


4번 수행시 참조

[AndroidManifest.xml 코드 추가]

    <supports-screens

        android:largeScreens="true"

        android:normalScreens="true"

        android:smallScreens="true"

        android:xlargeScreens="true"

        android:resizeable="true"

        android:anyDensity="true"

        />

    

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


          <activity

            android:name="com.example.hybrid.MainActivity"

            android:label="@string/app_name"            

            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" >

            <intent-filter>

                <action android:name="android.intent.action.MAIN" />


                <category android:name="android.intent.category.LAUNCHER" />

            </intent-filter>

     </activity>




[MainActivity.java 수정]

package com.example.hybrid;


import org.apache.cordova.Config;


import android.os.Bundle;

import org.apache.cordova.*;


//import 제거

//import android.app.Activity;

//import android.view.Menu;


//상속 변경(Activity -> DroidGap)

//public class MainActivity extends Activity {

public class MainActivity extends DroidGap {

@Override

//접근 제어자 변경(protected -> public)

//protected void onCreate(Bundle savedInstanceState) {

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

        // Set by <content src="index.html" /> in config.xml

        super.loadUrl(Config.getStartUrl());

        //시작 파일 변경

        //super.loadUrl("file:///android_asset/www/index.html")

        

/*

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

*/

}


/*

* 불필요한 override 제거

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.main, menu);

return true;

}

*/


}


apk 파일 생성하기




반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
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 27
28 29 30
글 보관함