7

私は自分のAndroidアプリを変更していて、実際のデバイス(Eclipseでアプリケーションを実行)で試してみましたが、すべて正常に機能していました。そのため、変更に満足したら、リリース用にバージョンを変更するためにマニフェストを開きましたが、マニフェストに変更を加えることなく、次の行でエラーが発生しました。

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

エラーは次のとおりです。

Permission is only granted to system apps

これはどのように可能ですか?この行を使用して、アプリケーションを何度もビルドしました。

4

3 に答える 3

18

ありがとうございます。私は奇妙な問題を解決しました

 Project > Clean

これで、すべてが再び正常に機能します。

于 2012-11-23T15:06:55.323 に答える
2

自分でパッケージをインストールすることはできません。それについても尋ねないでください。

Intentその目的のために使用する:

Intent installIntent = new Intent(Intent.ACTION_VIEW );
installIntent.setDataAndType(
    Uri.parse("file://" + context.getFilesDir().getAbsolutePath() + "/" + file_name_to_install),
    "application/vnd.android.package-archive");
startActivity(installIntent);

Eclipseを使用している場合は、おそらく古い/古いバージョンのマニフェストを使用しており、それを開くと、変更が再ロードされ、エラーメッセージが表示されます。問題のある権限を削除して、インテントを使用するだけです。

于 2012-11-23T14:52:55.230 に答える
2

リントの設定をすでに変更している場合は、クリーニングが機能します。それ以外の場合は、以下の解決策を確認してください。

権限はシステムアプリにのみ付与されます

Lint設定を変更するように指示されています

Eclipseの場合:

ウィンドウ->設定->Android->リントエラーチェック。

リストで、を含むエントリを見つけますID = ProtectedPermission。重大度をエラーよりも低い値に設定します。このようにして、Eclipseを使用してプロジェクトをコンパイルできます。

Android Studioの場合:

File -> Settings -> Inspections

の下Android Lintで、を見つけますUsing system app permission。チェックボックスをオフにするか、エラーより低い重大度を選択します。

于 2013-07-21T07:53:55.613 に答える