Создать APK обновление программно - PullRequest
0 голосов
/ 21 апреля 2020

Я получаю apk из запроса ftp, и код работает нормально, но он не обновляет apk. Код также не дает исключения. Я все еще вижу старое приложение. Приложение является владельцем устройства. Приложение не обновляется, но я не вижу ошибку

 @Override
    public void run() {
        try {
            FTPClient ftpClient = new FTPClient();
            ftpClient.connect("10.0.0.22");
            ftpClient.login("User", "1234");
            ftpClient.enterLocalPassiveMode();
            String remoteFile1 = "/app-release.apk";
            String downPath = context.getCacheDir().getAbsolutePath();
            File myapk = new File(downPath + "/app-release.apk");
            OutputStream outputStream1 = new BufferedOutputStream(new FileOutputStream(myapk));
            boolean success = ftpClient.retrieveFile(remoteFile1, outputStream1);
            System.out.println(success);
            outputStream1.close();
            myapk.setReadable(true, false);
            if (!success) {
                ftpClient.logout();
                ftpClient.disconnect();
                return;
            } else {
                Uri uri = FileProvider.getUriForFile(context, BuildConfig.APPLICATION_ID + ".provider",myapk);
                Intent promptInstall = new Intent(Intent.ACTION_VIEW)
                        .setDataAndType(uri,"application/vnd.android.package-archive")
                        .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                context.startActivity(promptInstall);
            }
        }
        catch (Exception e) {
            e.printStackTrace();
            Log.e("IO","IO"+e);

        }
    }
...