Write final fields for library classes.

PiperOrigin-RevId: 276165877
diff --git a/src/test/java/com/google/devtools/build/android/RClassGeneratorActionTest.java b/src/test/java/com/google/devtools/build/android/RClassGeneratorActionTest.java
index a3c8704..3dbf763 100644
--- a/src/test/java/com/google/devtools/build/android/RClassGeneratorActionTest.java
+++ b/src/test/java/com/google/devtools/build/android/RClassGeneratorActionTest.java
@@ -213,7 +213,7 @@
   }
 
   @Test
-  public void withNoBinaryAndLibraries_noFinalFields() throws Exception {
+  public void withNoBinaryAndLibraries_noFinalFields_fieldsFinalAnyway() throws Exception {
     Path libFooManifest =
         ManifestBuilder.of(tempDir.resolve("libFoo"))
             .createManifest("AndroidManifest.xml", "com.google.foo", "");
@@ -256,11 +256,12 @@
               "com/google/bar/R.class",
               "META-INF/",
               "META-INF/MANIFEST.MF");
-      assertFieldsFinal(jarPath, "com.google.foo.R$attr", false);
-      assertFieldsFinal(jarPath, "com.google.foo.R$id", false);
-      assertFieldsFinal(jarPath, "com.google.foo.R$string", false);
-      assertFieldsFinal(jarPath, "com.google.bar.R$attr", false);
-      assertFieldsFinal(jarPath, "com.google.bar.R$drawable", false);
+      // --nofinalFields should have no effect on library R classes
+      assertFieldsFinal(jarPath, "com.google.foo.R$attr", true);
+      assertFieldsFinal(jarPath, "com.google.foo.R$id", true);
+      assertFieldsFinal(jarPath, "com.google.foo.R$string", true);
+      assertFieldsFinal(jarPath, "com.google.bar.R$attr", true);
+      assertFieldsFinal(jarPath, "com.google.bar.R$drawable", true);
       ZipMtimeAsserter.assertEntries(zipEntries);
     }
   }
diff --git a/src/tools/android/java/com/google/devtools/build/android/RClassGeneratorAction.java b/src/tools/android/java/com/google/devtools/build/android/RClassGeneratorAction.java
index 04e0d39..72b8cc7 100644
--- a/src/tools/android/java/com/google/devtools/build/android/RClassGeneratorAction.java
+++ b/src/tools/android/java/com/google/devtools/build/android/RClassGeneratorAction.java
@@ -189,7 +189,7 @@
         logger.fine(
             String.format("Load symbols finished at %sms", timer.elapsed(TimeUnit.MILLISECONDS)));
         // For now, assuming not used for libraries and setting final access for fields.
-        fullSymbolValues.writeClassesTo(libSymbolMap, null, classOutPath, options.finalFields);
+        fullSymbolValues.writeClassesTo(libSymbolMap, null, classOutPath, true);
         logger.fine(
             String.format("Finished R.class at %sms", timer.elapsed(TimeUnit.MILLISECONDS)));
       } else {