Как именно работает мультидексинг в xamarin? - PullRequest
0 голосов
/ 22 декабря 2018

похоже, что мультидексинг не работает в моем приложении xamarin форм.Я не совсем уверен, что я сделал не так.Мультидексирование включено в Свойства проекта -> Параметры Android.Я добавил файл multidex.keep и установил для сборки значение MultiDexMainDexList.

Внутри моего multidex.keep есть эта строка:

android/view/inputmethod/InputContentInfo.class

Ниже мой манифест:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="NewKeyboard.NewKeyboard" android:installLocation="auto">
    <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="27" />
    <uses-permission android:name="android.permission.READ_LOGS" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <application android:name="android.support.multidex.MultiDexApplication" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme">
        <service android:name=".KeyboardService" android:label="@string/app_name" android:permission="android.permission.BIND_INPUT_METHOD">
            <intent-filter>
                <action android:name="android.view.InputMethod" />
            </intent-filter>
            <meta-data android:name="android.view.im" android:resource="@xml/method" />
        </service>
        <provider android:name="android.support.v4.content.FileProvider" android:authorities="com.creptecs.android.newkeyboard.ime.inputcontent" android:exported="false" android:grantUriPermissions="true">
            <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths" />
        </provider>
    </application>
</manifest>

эта строка кода:

InputContentInfo inputContentInfo = new InputContentInfo(
                    contentUri,
                    new ClipDescription(imageDescription, new string[] {mimeType }),
                    null
            );

выдает это исключение:

Java.Lang.ClassNotFoundException: не найден класс "android.view.inputmethod.InputContentInfo" впуть: DexPathList [[zip-файл »/data/app/NewKeyboard.NewKeyboard-1/base.apk"],nativeLibraryDirectories=[/data/app/NewKeyboard.NewKeyboard-1/lib/x86, / vendor / lib, / system/ lib]]

Почему не работает мультидекс?

https://www.dropbox.com/s/fmdgzw2cs86ar7m/NewKeyboard.NewKeyboard-Signed-dex2jar.jar?dl=0

...