24

私は現在 Android プロジェクトに取り組んでおり、git の使用方法を学んでいます。git の問題が原因でブロックされました: Android-manifest ファイルで宣言された Google マップ API キーがあります:

<meta-data
    android:name="com.google.android.maps.v2.API_KEY"
    android:value="HEREISMYKEY"/>

ここで、自分のコードを github にプッシュしたいのですが、AndroidManifest には API キー (秘密にしておく必要がある) が含まれているため、プッシュできません。

すべてのプッシュの前に変更する方法があるかどうか、またはアプリケーションをコンパイルするたびに変更する方法があるかどうかを知りたいですか?

ご協力ありがとうございました !

4

4 に答える 4

39

res/values に新しい *.xml ファイルを作成します (それを呼び出すapi-keys.xmlか、同様の名前を付けます)。

次の文字列を指すようにマニフェストを変更します。

 <meta-data
    android:name="com.google.android.maps.v2.API_KEY"
    android:value="@string/GoogleMapsKey"/>

変更を最初に公開するときは、ダミーのキーを入れます。

次に、実際の API キーを使用してファイルを編集します。

次に、ファイルを .gitignore ファイルに追加して、再度プッシュされないようにします。

于 2012-12-21T14:46:53.860 に答える
0

さて、あなたができることは、AndroidManifest.XMLファイルを.gitignoreファイルに入れることです。そうすれば、コードの残りの部分と一緒にプッシュされることはありません。次に、readmeファイルまたは一般化されたAndroidManifestを持つものをプッシュするだけです。アプリケーションをビルドするために、誰もがコピーしてAndroidManifest.xmlファイルに貼り付ける必要がある.xmlソース。そうすれば、アプリに変更を加え、必要に応じてビルドし、ビルドごとに一般化してソース管理にプッシュする必要がなくなります。

于 2012-12-20T20:03:42.907 に答える
0

私が過去に同様の問題に取り組んできた方法は、公開プッシュ用に私の git リポジトリで特定のブランチを使用することでした。

マニフェストにキーを持つローカル マスター ブランチがあるとします。github (またはその他の場所) にプッシュする準備ができたら、履歴のない新しい「リリース」ブランチを作成できます。ここでそれについてもう少し見ることができます: How to push new branch without history git branch --orphan release . すべての個人情報を削除したら、すべてのファイルをコミットし、そのブランチのみを github にプッシュしますgit push origin release

これに関する問題は、コミット履歴がないことです。おそらく、他の誰かがより良いものを思い付くことができます。

于 2012-12-20T20:09:07.643 に答える