Проблема была сложнее, чем я думал. В режиме отладки, кажется, можно сойти с рук что угодно. Но не выпуск.
В проекте есть одно приложение, которое использует библиотечную службу Bluetooth и две службы IP C. Однако службы IP C построены как модуль в том же проекте. Почему? Android Студия в не Eclipse - только один проект на окно! Модули, однако, создает проблемы. Но вот как заставить его работать в релизе с минимизацией proguard:
- Нет копий файлов AIDL в двух сервисах IP C с двумя модулями (как нужно, если они были построены как отдельные проекты)
- Не указывайте файлы AIDL в файлах Gradle служб IP C (как это необходимо сделать в независимом проекте).
Это позволит встроенный выпуск, разверните два APK-файла службы IP C и приложение и запустите его, ЕСЛИ 'minifyEnabled false' установлен в каждом из четырех файлов build.gradle.
Если вы хотите установить 'minifyEnabled true 'чтобы уменьшить размер APK приложения, сделайте это ТОЛЬКО в файле build.gradle приложения. Однако обязательно сохраняйте каждый интерфейс и объект AIDL, которые вы определили. Например, в моем локальном файле proguard:
-keep class com.pcha.proprietary.handler.IConnectionCallback
-keep class com.pcha.proprietary.handler.IStatusEventCallback
-keep class com.pcha.proprietary.handler.IIntermediaryCallback
-keep class com.pcha.proprietary.handler.ILogCallback
-keep class com.pcha.btmanager.PhdInformation
-keep class com.pcha.btmanager.ProprietaryDriverPhdInfo
-keep class com.lni.codephg.inter.MdsIntermediary
-keep class com.lni.codephg.inter.CompoundEntry
-keep class com.lni.codephg.inter.EnumEntry
-keep class com.lni.codephg.inter.Facets
-keep class com.lni.codephg.inter.NumericEntry
-keep class com.lni.codephg.inter.ProfuctionSpecOid
-keep class com.lni.codephg.inter.RtsaEntry
-keep class com.lni.codephg.inter.SpecializationStruct
-keep class com.lni.codephg.fhir.MderFloat
-keep class com.lni.codephg.inter.TimeStruct
Чтобы минимизировать aars Библиотеки Bluetooth и APK-файлы службы IP C, требуется больше работы, которую необходимо выполнять независимо от сборки. Сокращение библиотек aars / jars требует второй обработки собранных файлов ... по крайней мере, я не знаю другого способа сделать это.
Однако это выходит за рамки первоначального вопроса, но все же я хочу кое-что сделать. Ищите любую помощь и дальнейшее понимание этого беспорядка.