解决:The application could not be installed: INSTALL_FAILED_SHARED_USER_INCOMPATIBLE
一般這種情況,你都可以在清單文件頂部找到類似如下的代碼:
?他的作用是:在AndroidManife.xml 中添加android:sharedUser可以將不同的程序加入到同一個進程中,方便數據的共享。
但是有個前提是需要簽名相同
而報這個錯有可能是因為簽名和系統簽名不相同, android.uid.system是表示系統進程
解決方案
1.如果是自己定制的系統可以使用系統簽名,如果是上傳到應用市場的,每個應用市場都不相同,所以可能就用不了
2.如果不想和系統一個進程,就刪掉這行代碼
擴展
?從as運行的時候有時候會出現:?Couldn't terminate the existing process for com.xxx.xxx? 或者 一運行就wait for devxxx
我這邊也有兩個解決方案:
1.如果暫時測試用不到和系統進程相關的事,就暫時把這行代碼刪掉
2.如果需要測試和系統進程相關的事,則每次運行之前先把應用卸載掉,然后在安裝,手動可能比較麻煩,但是寫到運行的任務中就比較方便了,加到任務中的方式如下:
先在app:build.gradle中加入如下代碼: 就是使用adb卸載當前的app(如果執行不了的請自行配置adb環境變量)
Groovy:
task unInsApk() {doLast {Runtime.getRuntime().exec("adb uninstall $android.defaultConfig.applicationId").waitFor()} }kts:
tasks.register<Task>("unInsApk") {doLast {Runtime.getRuntime().exec("adb uninstall ${android.defaultConfig.applicationId}").waitFor()} }?
?然后點上下箭頭或拖動,將卸載app的task移動到執行安裝apk之前,這樣就可以先卸載在編譯安裝apk了
?然后就可以好好的玩耍了,親測可用
ps:如果下面一直提示wait to devxxx的話可以先clean project ,然后重啟所有as,卸載在重新運行一般就可以了
發現如果手動編譯并安裝就不會出現wait to devxxx,所以我們也可以直接寫一個task,每次運行都使用它,就可以一鍵部署apk了,代碼如下(可能需要根據你的目錄小改)
Groovy:
task buildAndInstallApk(dependsOn: assemble) {doLast {def apkDir = new File(getBuildDir(), "outputs/apk/release")def apkFile = nullfor (File file : apkDir.listFiles().sort()) {if (file.name.lastIndexOf(".apk") > 0) {apkFile = filebreak}}Runtime.getRuntime().exec("adb install -r -d -t $apkFile.absolutePath").waitFor()//如果需要啟動某個頁面的話,可以用上一行的代碼執行以下命令:adb shell am start xxx,命令參考:https://blog.csdn.net/qq_33505109/article/details/79515747} }kts:
tasks.register("buildAndInstallApk") {doLast {val apkFile = File(buildDir, "outputs/apk/release").listFiles()?.sorted()?.find {it.name.endsWith(".apk")} ?: throw RuntimeException("找不到apk文件")Runtime.getRuntime().exec("adb install -r -d -t ${apkFile.absolutePath}").waitFor()//如果需要啟動某個頁面的話,可以用上一行的代碼執行以下命令:adb shell am start xxx,命令參考:https://blog.csdn.net/qq_33505109/article/details/79515747} }.dependsOn("assemble")ps:如果有更好的方式請留言
總結
以上是生活随笔為你收集整理的解决:The application could not be installed: INSTALL_FAILED_SHARED_USER_INCOMPATIBLE的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 好用的Span(富文本)api
- 下一篇: ai一个线段多个箭头_AI设计教程:艺术