Commit d76975bb authored by mef@chromium.org's avatar mef@chromium.org

Split cronet.jar into cronet.jar and cronet_api.jar.

Preserve full libcronet.so for crash log symbolication.
Upstream proguard.cfg changes.

BUG=396781

Review URL: https://codereview.chromium.org/463493005

Cr-Commit-Position: refs/heads/master@{#289136}
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@289136 0039d316-1c4b-4281-b951-d872f2087c98
parent b50fd943
......@@ -152,17 +152,53 @@
],
],
},
{
{ # cronet_stub.jar defines HttpUrlRequest interface and provides its
# its implementation using HttpUrlConnection (not the Chromium stack).
'target_name': 'cronet_stub',
'type': 'none',
'dependencies': [
'cronet_url_request_context_config_list',
'cronet_version',
],
'variables': {
'java_in_dir': 'cronet/android/java',
'javac_includes': [
'**/ChunkedWritableByteChannel.java',
'**/HttpUrlConnection*.java',
'**/HttpUrlRequest*.java',
'**/ResponseTooLargeException.java',
'**/UserAgent.java',
# TODO(mef): Consider moving this into HttpUrlRequestConfig.
'**/UrlRequestContextConfig.java',
'**/Version.java',
],
},
'includes': [ '../build/java.gypi' ],
},
{ # cronet.jar implements HttpUrlRequest interface using Chromium stack
# in native libcronet.so library.
'target_name': 'cronet',
'type': 'none',
'dependencies': [
'../base/base.gyp:base',
'libcronet',
'cronet_stub',
'cronet_url_request_error_list',
'cronet_url_request_priority_list',
'libcronet',
],
'variables': {
'java_in_dir': 'cronet/android/java',
'javac_includes': [
'**/ChromiumUrlRequest.java',
'**/ChromiumUrlRequestFactory.java',
'**/LibraryLoader.java',
# TODO(mef): Merge UrlRequest*.java into ChromiumUrlRequest*.java
'**/UrlRequest.java',
'**/UrlRequestContext.java',
'**/UrlRequestError.java',
'**/UrlRequestPriority.java',
'**/UsedByReflection.java',
],
},
'includes': [ '../build/java.gypi' ],
},
......@@ -172,12 +208,15 @@
'dependencies': [
'libcronet',
'cronet',
'cronet_stub',
],
'variables': {
'native_lib': 'libcronet.>(android_product_extension)',
'java_lib': 'cronet.jar',
'java_stub_lib': 'cronet_stub.jar',
'java_src_lib': 'cronet-src.jar',
'java_sample_src_lib': 'cronet-sample-src.jar',
'lib_java_dir': '<(PRODUCT_DIR)/lib.java',
'package_dir': '<(PRODUCT_DIR)/cronet',
'intermediate_dir': '<(SHARED_INTERMEDIATE_DIR)/cronet',
'jar_extract_dir': '<(intermediate_dir)/cronet_jar_extract',
......@@ -203,10 +242,10 @@
{
'action_name': 'extracting from jars',
'inputs': [
'<(PRODUCT_DIR)/lib.java/<(java_lib)',
'<(PRODUCT_DIR)/lib.java/base_java.jar',
'<(PRODUCT_DIR)/lib.java/net_java.jar',
'<(PRODUCT_DIR)/lib.java/url_java.jar',
'<(lib_java_dir)/<(java_lib)',
'<(lib_java_dir)/base_java.jar',
'<(lib_java_dir)/net_java.jar',
'<(lib_java_dir)/url_java.jar',
],
'outputs': ['<(jar_extract_stamp)', '<(jar_extract_dir)'],
'action': [
......@@ -279,6 +318,13 @@
'../AUTHORS',
'../chrome/VERSION',
'cronet/android/proguard.cfg',
'<(lib_java_dir)/<(java_stub_lib)'
],
},
{
'destination': '<(package_dir)/symbols/<(android_app_abi)',
'files': [
'<(SHARED_LIB_DIR)/<(native_lib)',
],
},
],
......
......@@ -7,8 +7,21 @@
-keepclasseswithmembers class org.chromium.** {
@org.chromium.base.*Native* <methods>;
}
-keep @org.chromium.base.JNINamespace class org.chromium.** {
# TODO(mef) remove unnecessary classes from base, so we don't have to preserve
# their methods
-keepclasseswithmembers class org.chromium.** {
native <methods>;
}
-dontnote org.chromium.net.AndroidKeyStore
# Needed so that multiple optimization passes will detect annotations
-keepattributes *Annotation*
# Keep methods used by reflection and native code
-keep class org.chromium.net.UsedBy*
-keep @org.chromium.net.UsedBy* class *
-keepclassmembers class * {
@org.chromium.net.UsedBy* *;
}
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment