122 | | == Building and running pjsua sample application == #pjsua |
123 | | |
124 | | We have pjsua sample application located under {{{pjsip-apps/src/pjsua/android}}}. It is not built by default, and you need [http://www.swig.org/download.html SWIG] to build it. |
| 122 | |
| 123 | == Building and running pjsua2 sample application == #pjsua2 |
| 124 | |
| 125 | A sample application using [http://www.pjsip.org/docs/book-latest/html/index.html pjsua2 API] with SWIG Java binding, is located under {{{pjsip-apps/src/swig/java/android}}}. It is not built by default, and you need [http://www.swig.org/download.html SWIG] to build it. |
| 126 | |
| 127 | Follow these steps to build pjsua2 sample application: |
| 128 | 1. Make sure SWIG is in the build environment PATH. |
| 129 | 1. Run {{{make}}} from directory {{{$PJDIR/pjsip-apps/src/swig}}} (note that the Android NDK root should be in the PATH), e.g: |
| 130 | {{{ |
| 131 | $ cd /path/to/your/pjsip/dir |
| 132 | $ cd pjsip-apps/src/swig |
| 133 | $ make |
| 134 | }}} |
| 135 | 1. Make sure any library dependencies are copied to {{{$PJDIR/pjsip-apps/src/swig/java/android/libs/armeabi}}}, e.g: {{{libyuv.so & libopenh264.so}}} for video support. |
| 136 | 1. Create Android project from pjsua. In Eclipse: |
| 137 | a. From menu: '''File''' --> '''New''' --> '''Project''' |
| 138 | a. Select '''Android Project from Existing Code''', press '''Next''' |
| 139 | a. In ''Root Directory'', put the location of '''pjsua2''' source code (i.e. {{{$PJDIR/pjsip-apps/src/swig/java/android}}}) and press '''Finish''' |
| 140 | 1. You may need to select different Android SDK than what is configured in pjsua2. You can do this from the project's '''Properties'''. |
| 141 | 1. Run it. |
| 142 | |
| 143 | === Log output === |
| 144 | |
| 145 | The pjsua2 sample application will write log messages to '''!LogCat''' window (to show !LogCat window, from Eclipse menu: '''Window''' --> '''Show View''' --> '''Other''' --> type ''!LogCat'') |
| 146 | |
| 147 | |
| 148 | == Creating your own application == #create-own-app |
| 149 | |
| 150 | For developing Android application, you should use [http://www.pjsip.org/docs/book-latest/html/index.html pjsua2 API] whose Java interface available via SWIG Java binding. |
| 151 | |
| 152 | Note that this has only been tested using [http://developer.android.com/tools/help/adt.html Eclipse with ADT], however it might also be applicable for [http://developer.android.com/tools/studio/index.html Android Studio]. |
| 153 | |
| 154 | 1. First, build {{{pjproject}}} libraries as described above. |
| 155 | 1. Also build {{{pjsua2 sample application}}} as described above, this step is required to generate the pjsua2 Java interface and the native library. |
| 156 | 1. Create Android application outside the PJSIP sources for your project. |
| 157 | 1. Get pjsua2 Java interface and native library from pjsua2 sample application: |
| 158 | 1. Copy pjsua2 Java interface files from {{{pjsip-apps/src/swig/java/android/src}}} to your project's {{{src}}} folder: |
| 159 | {{{ |
| 160 | $ cd $YOUR_PROJECT_DIR |
| 161 | $ cp -r $PJSIP_DIR/pjsip-apps/src/swig/java/android/src . |
| 162 | |
| 163 | # Cleanup excess pjsua2 application sources. |
| 164 | $ rm -r src/org/pjsip/pjsua2/app |
| 165 | }}} |
| 166 | 1. Copy native library {{{libpjsua2.so}}} from {{{pjsip-apps/src/swig/java/android/libs}}} to your project's {{{libs}}} folder: |
| 167 | {{{ |
| 168 | $ cd $YOUR_PROJECT_DIR |
| 169 | $ cp -r $PJSIP_DIR/pjsip-apps/src/swig/java/android/libs . |
| 170 | }}} |
| 171 | 1. Start writing your application, please check [http://www.pjsip.org/docs/book-latest/html/index.html pjsua2 docs] for reference. |
| 172 | |
| 173 | |
| 174 | == Pjsua application with telnet interface == #pjsua |
| 175 | |
| 176 | There is also the usual [http://www.pjsip.org/pjsua.htm pjsua] with telnet command line user interface, which is located under {{{pjsip-apps/src/pjsua/android}}}. It is not built by default and you need [http://www.swig.org/download.html SWIG] to build it. Application flow and user interface are handled mainly in the native level, so it doesn't use pjsua2 API with Java interface. |
144 | | == Building and running pjsua2 sample application == #pjsua2 |
145 | | |
146 | | Another sample application, which is based on [https://trac.pjsip.org/repos/ticket/1519 pjsua2 high-level API] with SWIG binding, is located under {{{pjsip-apps/src/swig/java/android}}}. It is not built by default, and you need [http://www.swig.org/download.html SWIG] to build it. |
147 | | |
148 | | Follow these steps to build pjsua2 sample application: |
149 | | 1. Make sure SWIG is in the build environment PATH. |
150 | | 1. Run {{{make}}} from directory {{{$PJDIR/pjsip-apps/src/swig}}} (note that the Android NDK root should be in the PATH), e.g: |
151 | | {{{ |
152 | | $ cd /path/to/your/pjsip/dir |
153 | | $ cd pjsip-apps/src/swig |
154 | | $ make |
155 | | }}} |
156 | | 1. Make sure any library dependencies are copied to {{{$PJDIR/pjsip-apps/src/swig/java/android/libs/armeabi}}}, e.g: {{{libyuv.so & libopenh264.so}}} for video support. |
157 | | 1. Create Android project from pjsua. In Eclipse: |
158 | | a. From menu: '''File''' --> '''New''' --> '''Project''' |
159 | | a. Select '''Android Project from Existing Code''', press '''Next''' |
160 | | a. In ''Root Directory'', put the location of '''pjsua2''' source code (i.e. {{{$PJDIR/pjsip-apps/src/swig/java/android}}}) and press '''Finish''' |
161 | | 1. You may need to select different Android SDK than what is configured in pjsua2. You can do this from the project's '''Properties'''. |
162 | | 1. Run it. |
163 | | |
164 | | === Log output === |
165 | | |
166 | | The pjsua2 sample application will write log messages to '''!LogCat''' window (to show !LogCat window, from Eclipse menu: '''Window''' --> '''Show View''' --> '''Other''' --> type ''!LogCat'') |
167 | | |
168 | | |
169 | | == Using pjsua2 for developing your own application == #create-own-app |
170 | | |
171 | | Note that this has only been tested using [http://developer.android.com/tools/help/adt.html Eclipse with ADT], however it might also be applicable for [http://developer.android.com/tools/studio/index.html Android Studio]. |
172 | | |
173 | | 1. First, build {{{pjproject}}} libraries as described above. |
174 | | 1. Also build {{{pjsua2 sample application}}} as described above, this step is required to generate the pjsua2 Java interface and the native library. |
175 | | 1. Create Android application outside the PJSIP sources for your project. |
176 | | 1. Get pjsua2 Java interface and native library from pjsua2 sample application: |
177 | | 1. Copy pjsua2 Java interface files from {{{pjsip-apps/src/swig/java/android/src}}} to your project's {{{src}}} folder: |
178 | | {{{ |
179 | | $ cd $YOUR_PROJECT_DIR |
180 | | $ cp -r $PJSIP_DIR/pjsip-apps/src/swig/java/android/src . |
181 | | |
182 | | # Cleanup excess pjsua2 application sources. |
183 | | $ rm -r src/org/pjsip/pjsua2/app |
184 | | }}} |
185 | | 1. Copy native library {{{libpjsua2.so}}} from {{{pjsip-apps/src/swig/java/android/libs}}} to your project's {{{libs}}} folder: |
186 | | {{{ |
187 | | $ cd $YOUR_PROJECT_DIR |
188 | | $ cp -r $PJSIP_DIR/pjsip-apps/src/swig/java/android/libs . |
189 | | }}} |
190 | | 1. Start writing your application, please check [http://www.pjsip.org/docs/book-latest/html/index.html pjsua2 docs] for reference. |
191 | | |
192 | | |