Private is the internal name (MSBuild legacy) for Copy Local. For Android, it means that the .jar file will be included in the DEXed binary (opposed to being available somewhere else externally, at runtime). For Android, really all .jars except the main
android.jar must be embedded.
IOW, it’s perfectly expected that if you don’t Copy Local the reference, that the class will be missing at runtime.
As for why it fails to DEX with the reference, I’ll ned to investigate. But your build log does not include the actual DEX error — in your log, the build failed omg the compile phase, with errors such as
E: Globals are disabled in the project settings [C:\Users\mattr\Code\Accordance\android\AccordanceAndroid\com.accordancebible.Accordance\TheCommonCode\p105SingleVerse.pas (4911)]
E: Modifier mismatch for parameter 2, expected "var" but found "in" [C:\Users\mattr\Code\Accordance\android\AccordanceAndroid\com.accordancebible.Accordance\UX\AdvancedSearchDialogFragment.pas (96)]
it seems that you will want to review your project options to make sure
AllowGlobals is not set to false (it default to true now, so my guess is that your project has it explicitly set to false), and to explicitly set
AllowLegacyOutParameters to true (it defaults to false).
I’ll download the .jar now and will see if I can repro the DEX error on my end, in a plain project…