日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人工智能 > ChatGpt >内容正文

ChatGpt

解决:The application could not be installed: INSTALL_FAILED_SHARED_USER_INCOMPATIBLE

發(fā)布時(shí)間:2025/3/21 ChatGpt 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 解决:The application could not be installed: INSTALL_FAILED_SHARED_USER_INCOMPATIBLE 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一般這種情況,你都可以在清單文件頂部找到類似如下的代碼:

?他的作用是:在AndroidManife.xml 中添加android:sharedUser可以將不同的程序加入到同一個(gè)進(jìn)程中,方便數(shù)據(jù)的共享。

但是有個(gè)前提是需要簽名相同

而報(bào)這個(gè)錯(cuò)有可能是因?yàn)楹灻拖到y(tǒng)簽名不相同, android.uid.system是表示系統(tǒng)進(jìn)程

解決方案

1.如果是自己定制的系統(tǒng)可以使用系統(tǒng)簽名,如果是上傳到應(yīng)用市場(chǎng)的,每個(gè)應(yīng)用市場(chǎng)都不相同,所以可能就用不了

2.如果不想和系統(tǒng)一個(gè)進(jìn)程,就刪掉這行代碼

擴(kuò)展

?從as運(yùn)行的時(shí)候有時(shí)候會(huì)出現(xiàn):?Couldn't terminate the existing process for com.xxx.xxx? 或者 一運(yùn)行就wait for devxxx

我這邊也有兩個(gè)解決方案:

1.如果暫時(shí)測(cè)試用不到和系統(tǒng)進(jìn)程相關(guān)的事,就暫時(shí)把這行代碼刪掉

2.如果需要測(cè)試和系統(tǒng)進(jìn)程相關(guān)的事,則每次運(yùn)行之前先把應(yīng)用卸載掉,然后在安裝,手動(dòng)可能比較麻煩,但是寫到運(yùn)行的任務(wù)中就比較方便了,加到任務(wù)中的方式如下:

先在app:build.gradle中加入如下代碼: 就是使用adb卸載當(dāng)前的app(如果執(zhí)行不了的請(qǐng)自行配置adb環(huán)境變量)

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()} }

?

?然后點(diǎn)上下箭頭或拖動(dòng),將卸載app的task移動(dòng)到執(zhí)行安裝apk之前,這樣就可以先卸載在編譯安裝apk了

?然后就可以好好的玩耍了,親測(cè)可用

ps:如果下面一直提示wait to devxxx的話可以先clean project ,然后重啟所有as,卸載在重新運(yùn)行一般就可以了

發(fā)現(xiàn)如果手動(dòng)編譯并安裝就不會(huì)出現(xiàn)wait to devxxx,所以我們也可以直接寫一個(gè)task,每次運(yùn)行都使用它,就可以一鍵部署apk了,代碼如下(可能需要根據(jù)你的目錄小改)

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()//如果需要啟動(dòng)某個(gè)頁(yè)面的話,可以用上一行的代碼執(zhí)行以下命令: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()//如果需要啟動(dòng)某個(gè)頁(yè)面的話,可以用上一行的代碼執(zhí)行以下命令:adb shell am start xxx,命令參考:https://blog.csdn.net/qq_33505109/article/details/79515747} }.dependsOn("assemble")

ps:如果有更好的方式請(qǐng)留言

總結(jié)

以上是生活随笔為你收集整理的解决:The application could not be installed: INSTALL_FAILED_SHARED_USER_INCOMPATIBLE的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。