2

Android のsystem applicationソースコードをダウンロードしました。

プロジェクトをEclipseにインポートし、エミュレーターで実行しようとすると、signature error. これは、マニフェストのパッケージ名が電話に既にインストールされているアプリケーションとは異なることが想定されているために発生すると思いますが、マニフェスト ファイルのパッケージ名を変更しようとすると、自動生成された R.java ファイルが削除されます。

今私の質問は

  1. この署名の不一致エラーを回避するにはどうすればよいですか?

  2. R.javaファイルが削除されないように、マニフェストファイルのパッケージ名を変更するにはどうすればよいですか?

または、どうすればEclipseからAndroidシステムアプリケーションを簡単に作成できますか?

4

5 に答える 5

1

システムアプリケーションを作成するには、アプリケーションに実際のデバイスと一致する製品署名キー(署名)が必要です。そのキーは\build\ target \ product \security\にあります

于 2012-08-22T08:23:23.100 に答える
1

https://stackoverflow.com/a/9645224/1163019からの引用

「signatureOrSystem権限が必要な場合は、システムイメージに配置するだけで済みます。特別な証明書で署名する必要はありません。これは、次のように1回限り(エミュレータを終了するまで)実行できます。 :"

> adb root
> adb remount
> adb push /path/to/My.apk /system/app/My.apk

「AndroidTools」を使用して、Eclipseでパッケージ名を更新できます。プロジェクトを右クリックし、[Androidツール]の下の[アプリケーションパッケージの名前を変更]を選択します。必要に応じてコードをリファクタリングする必要があります。

于 2012-08-22T08:24:29.140 に答える
1

Android アプリ全体を再作成してみませんか? つまり、ダウンロードしたので、新しい空のAndroidアプリを作成し、必要なクラス、xml、マニフェストファイルへの変更を作成し、持っているコードをコピーして新しいものに貼り付けるだけです。これにより、コードがどのように機能するかを 1 つずつ確認し、作成したとおりにデバッグすることができます。これが多少役立つことを願っています。

于 2012-08-22T08:18:49.547 に答える
1
adb push myApk.apk /system/app
于 2013-03-14T11:55:56.853 に答える
1

わかりました、私はそれを理解しました。

signature errorマニフェスト ファイルのパッケージ名、つまりcom.android.inputmethods.latin、既にインストールされている Android のデフォルトの Android キーボードと一致するため、付与していました。そのため、マニフェスト ファイルのパッケージ名を変更する必要がありました。私はそれを変更しました. しかし、その後、新しい問題が発生しましたR.java. ファイルは自動的に削除されました.

これは、パッケージ名を変更したときに、いくつかの XML ファイルでそれを更新する必要があったためです。私がそうするまで論理的には、XML ファイルにいくつかのエラーがありました。

また、R.javaXML ファイルにエラーがない場合は、ファイルが自動的に生成されます。 そのため、XML ファイルを更新してエラーを修正すると、R.java ファイルが自動的に生成されました。

これが誰かを助けることを願っています:)

于 2012-08-24T06:29:23.420 に答える