Применение настраиваемого преобразователя градала к модулю динамических функций не дает достаточного количества входных данных класса, чтобы позволить модификацию байт-кода с помощью Javassist - PullRequest
0 голосов
/ 08 октября 2019

У меня есть собственный преобразователь, который отлично работает для любого модуля типов 'com.android.library' и 'com.android.application', но когда я пытаюсь применить его к модулю типа 'com.android.dynamic-feature 'гораздо меньше TransformInputs передается в метод transform.

Например, вот небольшой пример имен классов, доступных при преобразовании модуля приложения

INPUT CLASSES:[androidx.core.R$style, androidx.viewpager.R$id, androidx.constraintlayout.widget.R$attr, androidx.appcompat.R$interpolator, androidx.fragment.R$color, androidx.appcompat.resources.R$drawable, androidx.drawerlayout.R$string, com.applanga.applangaappbundletest.R$attr, androidx.activity.R, androidx.activity.R$attr, androidx.appcompat.resources.R$style, androidx.appcompat.R$anim, com.applanga.librarytest.R$style, com.applanga.applangaappbundletest.R$id, androidx.versionedparcelable.R, com.applanga.applangaappbundletest.R$bool, androidx.vectordrawable.R$dimen, androidx.activity.R$color, androidx.viewpager.R$string, com.applanga.applangaappbundletest.R$raw, com.applanga.applangaappbundletest.R$layout, androidx.fragment.R$styleable, androidx.drawerlayout.R, com.applanga.applangaappbundletest.R$integer, com.applanga.applangaappbundletest.R$anim, com.applanga.applangaappbundletest.R$drawable, androidx.appcompat.resources.R$id, androidx.appcompat.R$attr, androidx.appcompat.resources.R, com.applanga.librarytest.R$id, androidx.customview.R$dimen, com.applanga.applangaappbundletest.MainActivity$1, androidx.loader.R$style, androidx.customview.R$string, com.applanga.applangaappbundletest.MainActivity$2, androidx.fragment.R$layout, androidx.customview.R, com.applanga.applangaappbundletest.MainActivity$3, androidx.drawerlayout.R$layout,

Это простонебольшая часть списка.

Но затем, когда дело доходит до преобразования моего модуля динамических функций, все, что я получаю, это небольшой список классов

INPUT CLASSES:[com.applanga.dynamicfeature.BuildConfig, com.applanga.dynamicfeature.R$layout, com.applanga.dynamicfeature.R, com.applanga.dynamicfeature.FeatureActivity, com.applanga.dynamicfeature.R$string]

, если я изменю тип плагинак приложению или библиотеке в файле gradle возможностей, тогда он прекрасно работает, но это не помогает, потому что мне нужно, чтобы он был динамическим, чтобы я мог использовать его в пакетах приложений.

Как получить полный пакетсписок классов, используемых для этого модуля?

...