鍍金池/ 問答/Android  網(wǎng)絡安全/ Android 7.1.1 安裝Apk問題。

Android 7.1.1 安裝Apk問題。

我在測試Android 7.0 安裝APK 問題時,為何使用了新的安裝方式還是不能安裝提示 解析軟甲包時出現(xiàn)問題

非常簡單的代碼:

一、 這是安裝的邏輯。因為我是直接跑在Android模擬器上面的。所以沒有做版本號的判斷。

File apkFile = new File(Environment.getExternalStorageDirectory() + File.separator + "apkFile", "aaa.apk");
if (apkFile.exists()) {
    Intent intent = new Intent(Intent.ACTION_VIEW);
    Uri apkFileUri = FileProvider.getUriForFile(this, BuildConfig.APPLICATION_ID + ".fileprovider", apkFile);
    intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
    intent.setDataAndType(apkFileUri, "application/vnd.android.package-archive");
    startActivity(intent);
}

二、 這是 Provider 的配置。

<provider
    android:name="android.support.v4.content.FileProvider"
    android:authorities="com.example.along.installtest.fileprovider"
    android:exported="false"
    android:grantUriPermissions="true">
    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/file_path">

    </meta-data>
</provider>

三、這是權限的配置:

<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<permission android:name="android.permission.INSTALL_PACKAGES" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

四、這是xml文件中的共享目錄配置:

<?xml version="1.0" encoding="utf-8"?>
<paths>
    <external-path
        name="apkFile"
        path="apkFile" />
</paths>

然后我將此項目的VersionCode調(diào)高之后,打包之后,放在對應的apkFile文件中,然后調(diào)低VersionCode打包,然后運行顯示解析包錯誤。這個問題調(diào)了好久了。 請大神幫忙。。。。。。一下。 賊雞兒煩。

回答
編輯回答
夏夕

你把file_path.xml里面的配置改成:<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/ap...;>

<external-path
    name="external_storage_root"
    path="." />

</paths>
試一下,我的改成這樣就可以了,其他代碼跟你一樣

2018年1月18日 09:33