Revert "Revert "This adds an Android apk for running tests on the Java layer of PeerConnection.""

This reverts commit 308e7ff61327d64ba5c7761ce6b58cd1fbc4847e.

Original cl description:

This adds an Android apk for running tests on the Java layer of PeerConnection.

The only testcase is currently the same test we run on Java standalone.
To run the test adb shell am instrument -w org.webrtc.test/android.test.InstrumentationTestRunner

BUG=4031
R=kjellander@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/32529004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7748 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
perkj@webrtc.org
2014-11-26 07:35:37 +00:00
parent 58edb83fd4
commit 2faf7eea6f
15 changed files with 353 additions and 62 deletions

View File

@ -263,7 +263,8 @@
'variables': {
'java_src_dir': 'app/webrtc/javatests/src',
'java_files': [
'app/webrtc/javatests/src/org/webrtc/PeerConnectionTest.java',
'app/webrtc/java/testcommon/src/org/webrtc/PeerConnectionTest.java',
'app/webrtc/javatests/src/org/webrtc/PeerConnectionTestJava.java',
],
},
'action_name': 'create_jar',
@ -313,6 +314,61 @@
},
],
}],
['OS=="android"', {
'targets': [
{
'target_name': 'libjingle_peerconnection_android_unittest',
'type': 'none',
'dependencies': [
'libjingle.gyp:libjingle_peerconnection_jar',
],
'actions': [
{
# TODO(perkj): convert from a custom script to a standard gyp
# apk build once chromium's apk-building gyp machinery can be used
# (http://crbug.com/225101)
'action_name': 'build_peerconnection_unittests_apk',
'inputs' : [
'<(PRODUCT_DIR)/libjingle_peerconnection.jar',
'<(PRODUCT_DIR)/libjingle_peerconnection_so.so',
'app/webrtc/androidtests/AndroidManifest.xml',
'app/webrtc/androidtests/ant.properties',
'app/webrtc/androidtests/build.xml',
'app/webrtc/androidtests/jni/Android.mk',
'app/webrtc/androidtests/project.properties',
'app/webrtc/androidtests/res/drawable-hdpi/ic_launcher.png',
'app/webrtc/androidtests/res/drawable-ldpi/ic_launcher.png',
'app/webrtc/androidtests/res/drawable-mdpi/ic_launcher.png',
'app/webrtc/androidtests/res/drawable-xhdpi/ic_launcher.png',
'app/webrtc/androidtests/res/values/strings.xml',
'app/webrtc/androidtests/src/org/webrtc/PeerConnectionAndroidTest.java',
'app/webrtc/java/testcommon/src/org/webrtc/PeerConnectionTest.java',
],
'outputs': [
'<(PRODUCT_DIR)/libjingle_peerconnection_android_unittest.apk',
],
'variables': {
'ant_log': '../../../<(INTERMEDIATE_DIR)/ant.log', # ../.. to compensate for the cd app/webrtc/androidtests below.
},
'action': [
'bash', '-ec',
'rm -fr <(_outputs) app/webrtc/androidtests/{bin,libs} && '
'mkdir -p <(INTERMEDIATE_DIR) && ' # Must happen _before_ the cd below
'mkdir -p app/webrtc/androidtests/libs/<(android_app_abi) && '
'cp <(PRODUCT_DIR)/libjingle_peerconnection.jar app/webrtc/androidtests/libs/ &&'
'<(android_strip) -o app/webrtc/androidtests/libs/<(android_app_abi)/libjingle_peerconnection_so.so <(PRODUCT_DIR)/libjingle_peerconnection_so.so &&'
'cd app/webrtc/androidtests && '
'{ ANDROID_SDK_ROOT=<(android_sdk_root) '
'ant debug > <(ant_log) 2>&1 || '
' { cat <(ant_log) ; exit 1; } } && '
'cd - > /dev/null && '
'cp app/webrtc/androidtests/bin/libjingle_peerconnection_android_unittest-debug.apk <(_outputs)'
],
},
],
}, # target AppRTCDemo
], # targets
}], # OS=="android"
['OS=="ios" or (OS=="mac" and target_arch!="ia32" and mac_sdk>="10.7")', {
# The >=10.7 above is required to make ARC link cleanly (e.g. as
# opposed to _compile_ cleanly, which the library under test