[英]Unable to get provider 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.