簡體   English   中英

已解決 Xamarin.Forms Java.Lang.RuntimeException: '無法獲取提供程序 androidx.startup.InitializationProvider

[英]SOLVED Xamarin.Forms Java.Lang.RuntimeException: 'Unable to get provider androidx.startup.InitializationProvider

我有這個應用程序可以在 IOS 上完全運行,但是當我嘗試在 Android 設備(物理或模擬)上啟動時,然后點擊任何方法(OnCreate、OnStart 等)應用程序崩潰並給我這個錯誤:

Java.Lang.RuntimeException:'無法獲取提供程序 androidx.startup.InitializationProvider:java.lang.ClassNotFoundException:在路徑上找不到 class“androidx.startup.InitializationProvider”:DexPathList[[zip 文件“/data/app/com .myapp.myapp123-enX6MwKxPJAu9d6bm6sajg==/base.apk"],nativeLibraryDirectories=[/data/app/com.myapp.myapp123-enX6MwKxPJAu9d6bm6sajg==/lib/arm64,/data/app/com.myapp.myapp123-enX6MwKxPJAu9d=6bm6sajg =/base.apk,/lib/arm64-v8a,/system/lib64,/system/product/lib64]]'

然后經過長時間的搜索我認為問題可能來自兩點:

-Android 項目上的啟動畫面

或者

-綁定一個.AAR文件(.AAR文件構建動作是LibraryProjectZip)

但所有解決問題的嘗試都失敗了。

更新

這是 Android 清單

<?xml version="1.0" encoding="utf-8"?>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

<application android:requestLegacyExternalStorage="true" android:label="My App" android:theme="@style/MainTheme">



    <provider android:name="androidx.core.content.FileProvider" android:authorities="${applicationId}.fileprovider" android:grantUriPermissions="true" android:exported="false">
        <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/filepaths" />
    </provider>
    
</application>

更新 2資源中 filepaths.xml 內的代碼:

<paths>
    <external-path path="." name="mydocuments" />
    <external-path name="external_files" path="."/>
    <files-path name="files" path="."/>
    <internal-path name="internal_files" path="."/>
</paths>

更新 3

我試着:

  • 刪除我在路徑中的代碼並將其替換為 ColeX 在上面的鏈接中提到的整個代碼(無)

     <paths xmlns:android="http://schemas.android.com/apk/res/android"> <external-files-path name="my_images" path="Pictures" /> <external-files-path name="my_movies" path="Movies" /> </paths>
  • 保留我的代碼並添加提到的代碼(無)

     <paths xmlns:android="http://schemas.android.com/apk/res/android"> <external-path path="." name="mydocuments" /> <external-path name="external_files" path="."/> <files-path name="files" path="."/> <internal-path name="internal_files" path="."/> <external-files-path name="my_images" path="Pictures" /> <external-files-path name="my_movies" path="Movies" /> </paths>
  • 將“外部路徑”替換為“外部文件路徑”,將“內部路徑”替換為“內部文件路徑”(無)

  • 添加和刪除

xmlns:android="http://schemas.android.com/apk/res/android"

在所有這些嘗試中(沒有太多)

我可以解決這個問題,這里或任何文件中共享的代碼都沒有問題,所以我認為問題出在加載應用程序的存儲庫中。 我只是刪除分支(分支等於 master)並創建一個新分支。 現在android中的App運行良好。

特別感謝 ColeX 在這個問題上支持我並幫助我理解我的代碼沒有任何問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM