aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsatayev <satayev@google.com>2021-06-30 16:49:53 +0100
committersatayev <satayev@google.com>2021-07-01 19:09:34 +0100
commitacb41b96b656218c95883f79051f4b32f9b47f7a (patch)
tree8dbbd20e17077310ff4cbfd2d235c70cbad88611
parent1191048e299b3442cbb76e2806f99f0548c3266b (diff)
downloadplatform_packages_modules_SdkExtensions-android-s-beta-4.tar.gz
platform_packages_modules_SdkExtensions-android-s-beta-4.tar.bz2
platform_packages_modules_SdkExtensions-android-s-beta-4.zip
Add LOG statements to derive_classpath.android-s-beta-4android-s-beta-3android-s-beta-4
There are cases where the service fails without any logs in logcat. Adding this progress logs should help with determing at what stage the service fails for those cases. Bug: 192451046 Test: m && launch_cvd Change-Id: Idcf8bc1757544b1fd4d06666d6cf37348384fbce Merged-In: Idcf8bc1757544b1fd4d06666d6cf37348384fbce
-rw-r--r--derive_classpath/derive_classpath.cpp13
-rw-r--r--derive_classpath/main.cpp2
2 files changed, 12 insertions, 3 deletions
diff --git a/derive_classpath/derive_classpath.cpp b/derive_classpath/derive_classpath.cpp
index 5621d72..b22e832 100644
--- a/derive_classpath/derive_classpath.cpp
+++ b/derive_classpath/derive_classpath.cpp
@@ -96,19 +96,24 @@ bool GlobClasspathFragments(Filepaths* fragments, const std::string& pattern) {
// Writes the contents of *CLASSPATH variables to /data in the format expected by `load_exports`
// action from init.rc. See platform/system/core/init/README.md.
bool WriteClasspathExports(Classpaths classpaths, std::string_view output_path) {
- std::stringstream out;
+ LOG(INFO) << "WriteClasspathExports " << output_path;
+ std::stringstream out;
out << "export BOOTCLASSPATH " << android::base::Join(classpaths[BOOTCLASSPATH], ':') << '\n';
out << "export DEX2OATBOOTCLASSPATH "
<< android::base::Join(classpaths[DEX2OATBOOTCLASSPATH], ':') << '\n';
out << "export SYSTEMSERVERCLASSPATH "
<< android::base::Join(classpaths[SYSTEMSERVERCLASSPATH], ':') << '\n';
+ const std::string& content = out.str();
+ LOG(INFO) << "WriteClasspathExports content\n" << content;
+
const std::string path_str(output_path);
- return android::base::WriteStringToFile(out.str(), path_str, /*follow_symlinks=*/true);
+ return android::base::WriteStringToFile(content, path_str, /*follow_symlinks=*/true);
}
bool ReadClasspathFragment(ExportedClasspathsJars* fragment, const std::string& filepath) {
+ LOG(INFO) << "ReadClasspathFragment " << filepath;
std::string contents;
if (!android::base::ReadFileToString(filepath, &contents)) {
PLOG(ERROR) << "Failed to read " << filepath;
@@ -136,10 +141,12 @@ std::string GetAllowedJarPathPrefix(const std::string& fragment_path) {
// Finds and parses all classpath fragments on device matching given glob patterns.
bool ParseFragments(const std::string& globPatternPrefix, Classpaths& classpaths, bool boot_jars) {
- Filepaths fragments;
+ LOG(INFO) << "ParseFragments for " << (boot_jars ? "bootclasspath" : "systemserverclasspath");
auto glob_patterns =
boot_jars ? kBootclasspathFragmentGlobPatterns : kSystemserverclasspathFragmentGlobPatterns;
+
+ Filepaths fragments;
for (const auto& pattern : glob_patterns) {
if (!GlobClasspathFragments(&fragments, globPatternPrefix + pattern)) {
return false;
diff --git a/derive_classpath/main.cpp b/derive_classpath/main.cpp
index 8cc4e0a..b896eb9 100644
--- a/derive_classpath/main.cpp
+++ b/derive_classpath/main.cpp
@@ -14,6 +14,7 @@
* limitations under the License.
*/
+#include <android-base/logging.h>
#include <cstdlib>
#include <string_view>
@@ -26,6 +27,7 @@ int main(int argc, char** argv) {
} else if (argc == 2) {
output_location = argv[1];
} else {
+ LOG(ERROR) << "too many arguments " << argc;
return EXIT_FAILURE;
}
if (!android::derive_classpath::GenerateClasspathExports(output_location)) {