first post
1 my Application.mk
2 Android.mk
3
android-webrtc.mk diff
4
libvpx.mk diff
second post
1 voice_engine/main/test/Android/android_test/jni/Android.mk diff
2 ../jni/android_test.cc diff
######
NDK Version must android-ndk-r5c
android SRC version must 2.3.3
run ~/work/android-ndk-r5c/ndk-build NDK_PROJECT_PATH=.
NDK_APPLICATION_MK=Application.mk before
must into android src ,
run
1 source build/envsetup.sh
2 lunch
You're building on Linux
Lunch menu... pick a combo:
1. generic-eng
2. simulator
3. full_passion-userdebug
4. full_crespo4g-userdebug
5. full_crespo-userdebug
if your want run simulator, pelase select 2
3 make ( make some libc.a and other .so )
######################################################
##############################################
Application.mk
{
APP_BUILD_SCRIPT=Android.mk
APP_PLATFORM := android-9
APP_STL := stlport_static
APP_STL := gnustl_static
}
##############################################
Android.mk diff
{
--- Android.mk 2011-07-16 16:03:35.000000000 +0800
+++ ../saw_trunk/trunk/Android.mk 2011-07-09 12:30:00.000000000
+0800
@@ -7,7 +7,6 @@
# be found in the AUTHORS file in the root of the source tree.
MY_WEBRTC_ROOT_PATH := $(call my-dir)
-#MY_WEBRTC_ROOT_PATH := .
# voice
include $(MY_WEBRTC_ROOT_PATH)/common_audio/resampler/main/source/
Android.mk
@@ -50,7 +49,6 @@
# third party
include $(MY_WEBRTC_ROOT_PATH)/
libvpx.mk
-include external/stlport/
libstlport.mk
# build .so
include $(MY_WEBRTC_ROOT_PATH)/
android-webrtc.mk
@@ -59,6 +57,5 @@
#include $(MY_WEBRTC_ROOT_PATH)/modules/audio_processing/main/test/
process_test/Android.mk
#include $(MY_WEBRTC_ROOT_PATH)/voice_engine/main/test/ui_linux_test/
Android.mk
#include $(MY_WEBRTC_ROOT_PATH)/voice_engine/main/test/auto_test/
Android.mk
-include $(MY_WEBRTC_ROOT_PATH)/voice_engine/main/test/Android/
android_test/jni/Android.mk
#include $(MY_WEBRTC_ROOT_PATH)/video_engine/main/test/AutoTest/
Android/Android.mk
-#include $(MY_WEBRTC_ROOT_PATH)/video_engine/main/test/AndroidTest/
jni/Android.mk
+#include $(MY_WEBRTC_ROOT_PATH)/video_engine/main/test/AndroidTest/
Android.mk
}
################################################################
android-webrtc.mk diff
{
---
android-webrtc.mk 2011-07-16 16:17:51.000000000 +0800
+++ ../saw_trunk/trunk/
android-webrtc.mk 2011-07-09 12:30:00.000000000
+0800
@@ -6,9 +6,8 @@
# in the file PATENTS. All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.
-include external/stlport/
libstlport.mk
-
MY_APM_WHOLE_STATIC_LIBRARIES := \
+ libwebrtc_spl \
libwebrtc_resampler \
libwebrtc_apm \
libwebrtc_apm_utility \
@@ -16,10 +15,8 @@
libwebrtc_ns \
libwebrtc_agc \
libwebrtc_aec \
- libwebrtc_spl \
libwebrtc_aecm
-
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
@@ -27,42 +24,22 @@
LOCAL_ARM_MODE := arm
LOCAL_MODULE := libwebrtc_audio_preprocessing
LOCAL_MODULE_TAGS := optional
-#LOCAL_LDFLAGS := -Wl,-rpath=/home/soltek/work/diff/trunk/obj/local/
armeabi
+LOCAL_LDFLAGS :=
-
-#LOCAL_WHOLE_STATIC_LIBRARIES := \
+LOCAL_WHOLE_STATIC_LIBRARIES := \
$(MY_APM_WHOLE_STATIC_LIBRARIES) \
- libwebrtc_system_wrappers
-
-LOCAL_STATIC_LIBRARIES := \
- libgtest
+ libwebrtc_system_wrappers \
LOCAL_SHARED_LIBRARIES := \
libcutils \
libdl \
libstlport
-#LOCAL_LDLIBS := -lgcc -llog
LOCAL_ADDITIONAL_DEPENDENCIES :=
include external/stlport/
libstlport.mk
include $(BUILD_SHARED_LIBRARY)
-include $(CLEAR_VARS)
-LOCAL_MODULE := libstlport
-LOCAL_SRC_FILES := libstlport.so
-include $(PREBUILT_SHARED_LIBRARY)
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := libjpeg
-LOCAL_SRC_FILES := libjpeg.so
-include $(PREBUILT_SHARED_LIBRARY)
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := libgcc
-LOCAL_SRC_FILES := libgcc.a
-include $(PREBUILT_STATIC_LIBRARY)
-
###
LOCAL_PATH := $(call my-dir)
@@ -72,7 +49,7 @@
LOCAL_ARM_MODE := arm
LOCAL_MODULE := libwebrtc
LOCAL_MODULE_TAGS := optional
-LOCAL_LDFLAGS := -Wl,-rpath=/home/soltek/work/diff/trunk/obj/local/
armeabi
+LOCAL_LDFLAGS :=
LOCAL_WHOLE_STATIC_LIBRARIES := \
libwebrtc_system_wrappers \
@@ -101,31 +78,18 @@
libwebrtc_vie_core \
libwebrtc_vplib \
libwebrtc_jpeg \
- libwebrtc_vpx \
- libgcc
+ libwebrtc_vpx
-LOCAL_STATIC_LIBRARIES := \
- libcutils \
- libdl \
- libstdc++ \
- libjpeg \
- libGLESv2 \
- libOpenSLES \
- libstlport \
- libwebrtc_audio_preprocessing
-
+LOCAL_STATIC_LIBRARIES :=
LOCAL_SHARED_LIBRARIES := \
libcutils \
libdl \
- libstdc++ \
+ libstlport \
libjpeg \
libGLESv2 \
libOpenSLES \
- libstlport \
libwebrtc_audio_preprocessing
-LOCAL_LDLIBS := -lOpenSLES -lGLESv2
-
LOCAL_ADDITIONAL_DEPENDENCIES :=
include external/stlport/
libstlport.mk
}
#################################################################
libvpx.mk diff
{
---
libvpx.mk 2011-07-14 16:23:38.000000000 +0800
+++ ../saw_trunk/trunk/
libvpx.mk 2011-07-09 12:30:00.000000000 +0800
@@ -9,7 +9,7 @@
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
-MY_LIBVPX_PATH = external/libvpx
+MY_LIBVPX_PATH = ../libvpx
LOCAL_SRC_FILES = \
$(MY_LIBVPX_PATH)/vp8/common/alloccommon.c \
}
######################################################################
voice_engine/main/test/Android/android_test/jni/Android.mk diff
{
--- voice_engine/main/test/Android/android_test/jni/Android.mk
2011-07-16 16:10:05.000000000 +0800
+++ ../saw_trunk/trunk/voice_engine/main/test/Android/android_test/jni/
Android.mk 2011-07-09 12:27:59.000000000 +0800
@@ -1,117 +1,29 @@
-LOCAL_PATH := $(call my-dir)
-
-#WEBRTC_INTERFACES_PATH := $(LOCAL_PATH)/../../../../../../../../
build/interface
-#WEBRTC_LIBS_PATH := $(LOCAL_PATH)/../../../../../../OBJ/local/
armeabi
-#WEBRTC_AUTO_TEST_PATH := $(LOCAL_PATH)/../../../auto_test
-
-INTERFACES_PATH := $(LOCAL_PATH)/../../../../../../../build/interface
-
-LIBS_PATH := $(LOCAL_PATH)/../../../../../../../build/libraries
-
-
-include $(CLEAR_VARS)
-
-
-LOCAL_ARM_MODE := arm
-#LOCAL_MODULE_TAGS := voice_tests
-LOCAL_MODULE := android_test
-LOCAL_CPP_EXTENSION := .cc
-LOCAL_SRC_FILES := android_test.cc
-LOCAL_CPPFLAGS :=
-LOCAL_LDFLAGS :=
-LOCAL_CFLAGS := \
- '-DWEBRTC_TARGET_PC' \
- '-DWEBRTC_ANDROID' \
- '-DANDROID' \
- '-DDBUG'
-
-LOCAL_C_INCLUDES := \
- external/gtest/include \
- $(LOCAL_PATH)/../../../../../.. \
- $(LOCAL_PATH)/../../../../interface \
- $(LOCAL_PATH)/../../../../../../voice_engine/main/interface
-
-LOCAL_LDLIBS := -llog -L/home/soltek/work/diff/trunk/libc.a -L/home/
soltek/work/diff/trunk/obj/local/armeabi/libwebrtc_voe_core.a
-
-LOCAL_PRELINK_MODULE := FALSE
-
-LOCAL_STATIC_LIBRARIES := \
- libutils \
- libstlport \
- libandroid \
- libwebrtc \
- libGLESv2 \
- libwebrtc_voe_core
-
-LOCAL_WHOLE_STATIC_LIBRARIES := \
- $(MY_APM_WHOLE_STATIC_LIBRARIES) \
- libwebrtc_voe_core
- # libwebrtc_system_wrappers
-# libandroid_test
-
-#LOCAL_SHARED_LIBRARIES := \
- libutils \
- libstlport \
- libandroid \
- libwebrtc \
- libGLESv2
-# libwebrtc_voe_core
-
-#LOCAL_C_INCLUDES := $(WEBRTC_INTERFACES_PATH) $
(WEBRTC_AUTO_TEST_PATH)
-
-LOCAL_C_INCLUDES := /home/soltek/work/diff/trunk/voice_engine/main/
interface /home/soltek/work/diff/trunk
-
-# $(WEBRTC_AUTO_TEST_PATH)/auto_test_android_gcc.a \
-
-
-include $(BUILD_SHARED_LIBRARY)
-#include $(BUILD_STATIC_LIBRARY)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#LOCAL_MODULE := libc
-#LOCAL_SRC_FILES := libc.a
-
-#include $(BUILD_STATIC_LIBRARY)
-
-##include $(CLEAR_VARS)
-#LOCAL_MODULE := libwebrtc
-#LOCAL_SRC_FILES := ../../../../../../obj/local/armeabi/libwebrtc.so
-#include $(PREBUILT_SHARED_LIBRARY)
-
-#include $(CLEAR_VARS)
-#LOCAL_MODULE := libstlport
-#LOCAL_SRC_FILES := ../../../../../../obj/local/armeabi/
libstlport.so
-#include $(PREBUILT_SHARED_LIBRARY)
-
-#include $(CLEAR_VARS)
-#LOCAL_MODULE := libwebrtc_audio_preprocessing
-#LOCAL_SRC_FILES := ../../../../../../obj/local/armeabi/
libwebrtc_audio_preprocessing.so
-#include $(PREBUILT_SHARED_LIBRARY)
-
-#include external/stlport/
libstlport.mk
-
-#include $(BUILD_SHARED_LIBRARY)
-#include $(BUILD_STATIC_LIBRARY)
+# Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
+#
+# Use of this source code is governed by a BSD-style license
+# that can be found in the LICENSE file in the root of the source
+# tree. An additional intellectual property rights grant can be found
+# in the file PATENTS. All contributing project authors may
+# be found in the AUTHORS file in the root of the source tree.
+
+# Android makefile for webrtc VoiceEngine Java API wrapper
+# This setup assumes two libs built outside Android makefile
structure.
+
+LOCAL_PATH := $(call my-dir)
+
+WEBRTC_INTERFACES_PATH := $(LOCAL_PATH)/../../../../../../../../build/
interface
+WEBRTC_LIBS_PATH := $(LOCAL_PATH)/../../../../../../../../build/
libraries
+WEBRTC_AUTO_TEST_PATH := $(LOCAL_PATH)/../../../auto_test
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := android_test
+LOCAL_SRC_FILES := android_test.cc
+LOCAL_CFLAGS := -DWEBRTC_TARGET_PC # For typedefs.h
+LOCAL_C_INCLUDES := $(WEBRTC_INTERFACES_PATH) $
(WEBRTC_AUTO_TEST_PATH)
+LOCAL_LDLIBS := \
+ $(WEBRTC_LIBS_PATH)/VoiceEngine_android_gcc.a \
+ $(WEBRTC_AUTO_TEST_PATH)/auto_test_android_gcc.a \
+ -llog -lgcc
+
+include $(BUILD_SHARED_LIBRARY)
}
#######################################################################
#######################################################################
voice_engine/main/test/Android/android_test/jni/Android.mk diff
{
--- voice_engine/main/test/Android/android_test/jni/android_test.cc
2011-07-15 16:09:11.000000000 +0800
+++ ../saw_trunk/trunk/voice_engine/main/test/Android/android_test/jni/
android_test.cc 2011-07-09 12:27:59.000000000 +0800
@@ -108,8 +108,6 @@
using namespace webrtc;
-
-
// VoiceEngine data struct
typedef struct
{
@@ -126,7 +124,7 @@
VoERTP_RTCP* rtp_rtcp;
VoEEncryption* encrypt;
// Other
- //my_transportation* extTrans;
+ my_transportation* extTrans;
JavaVM* jvm;
} VoiceEngineData;
@@ -352,16 +350,12 @@
// Look up and cache any interesting class, field and method IDs
for
// any used java class here
-memset(&veData1, 0, sizeof(VoiceEngineData));
-memset(&veData2, 0, sizeof(VoiceEngineData));
-
return true;
}
/////////////////////////////////////////////
// Run auto standard test
//
-/*
JNIEXPORT jint JNICALL
Java_org_webrtc_voiceengine_test_AndroidTest_RunAutoTest(
JNIEnv *env,
jobject context,
@@ -472,7 +466,7 @@
return retVal;
}
-*/
+
//////////////////////////////////////////////////////////////////
// VoiceEngine API wrapper functions
//////////////////////////////////////////////////////////////////
@@ -578,11 +572,11 @@
return -1;
}
- //jint retVal = veData1.base->Authenticate(keyNative,
strlen(keyNative));
+ jint retVal = veData1.base->Authenticate(keyNative,
strlen(keyNative));
env->ReleaseStringUTFChars(key, keyNative);
- //return retVal;
+ return retVal;
}
/////////////////////////////////////////////
@@ -605,14 +599,14 @@
{
__android_log_write(ANDROID_LOG_ERROR, WEBRTC_LOG_TAG,
"Could not enable trace");
- }/*
+ }
if (0
!= VoiceEngine::SetEncryptedTraceFile(
"/sdcard/trace_debug.txt"))
{
__android_log_write(ANDROID_LOG_ERROR, WEBRTC_LOG_TAG,
"Could not enable debug trace");
- }*/
+ }
if (0 != VoiceEngine::SetTraceFilter(kTraceAll))
{
__android_log_write(ANDROID_LOG_WARN, WEBRTC_LOG_TAG,
@@ -623,7 +617,7 @@
if (useExtTrans)
{
VALIDATE_NETWORK_POINTER;
- //veData1.extTrans = new my_transportation(veData1.netw);
+ veData1.extTrans = new my_transportation(veData1.netw);
}
int retVal = 0;
@@ -631,7 +625,7 @@
threadTest.RunTest();
usleep(200000);
#else
- //retVal = veData1.base->Init(month, day, year);
+ retVal = veData1.base->Init(month, day, year);
#endif
return retVal;
}
@@ -641,14 +635,14 @@
//
JNIEXPORT jint JNICALL
Java_org_webrtc_voiceengine_test_AndroidTest_Terminate(
JNIEnv *,
- jobject)
+ jobj ect)
{
VALIDATE_BASE_POINTER;
jint retVal = veData1.base->Terminate();
- //delete veData1.extTrans;
- //veData1.extTrans = NULL;
+ delete veData1.extTrans;
+ veData1.extTrans = NULL;
return retVal;
}
@@ -664,7 +658,7 @@
VALIDATE_BASE_POINTER;
jint channel = veData1.base->CreateChannel();
- /* if (veData1.extTrans)
+ if (veData1.extTrans)
{
VALIDATE_NETWORK_POINTER;
__android_log_print(ANDROID_LOG_DEBUG, WEBRTC_LOG_TAG,
@@ -678,7 +672,7 @@
return -1;
}
}
-*/
+
return channel;
}
@@ -1529,38 +1523,3 @@
return releaseOK;
}
-/*
-JNIEXPORT jint JNICALL
-Java_org_webrtc_voiceengine_test_AndroidTest_GetChannelLastError(jint
i) {
- JNIEnv *,
- jobject,
-if (i == 1) {
-if (veData1.base)
- return veData1.base->LastError();
-}
-
-if (i == 2) {
-if (veData2.base)
-return veData2.base->LastError();
-}
-
-return 0;
-}
-*/
-extern "C"
-JNIEXPORT jint JNICALL
-Java_org_webrtc_voiceengine_test_AndroidTest_GetChannelLastError(
-JNIEnv *,
-jobject,
-jint i) {
-if (i == 1) {
-if (veData1.base) return veData1.base->LastError();
-}
-
-if (i == 2) {
-if (veData2.base) return veData2.base->LastError();
-}
-
-return 0;
-}
-
}