web-dev-qa-db-ja.com

作成Androidアプリのリリースモード

Androidアプリを作成します。Eclipseからの推奨エクスポートを実行しました。Androidツール->割り当てなしでエクスポート(次に、それに合わせて署名しました) )エクスポートではリリースモードアプリが提供されますが、ディスクをチェックしたところ、.apkは、通常Eclipseでコンパイルしたときに取得したものと同じサイズです。
さらに> adb install myapp.apkを使用してエミュレータにインストールした後、Eclipseデバッガでアプリケーションにアタッチして、十分にブレークポイントに到達するようにしました。だから私は確かにデバッグバージョンを持っていると確信しています。問題は、署名して市場に提出する前に、Eclipseから自分のアプリケーションのリリースモードバージョンをどのように作成できるかです。

編集する

ログに記録すると、エクスポート時、およびEclipseから実行するときにデバッグ可能フラグがオフになります。マニフェストアプリケーションセクションで明示的にtrueに設定しない限り。デバッグ/リリースモードはフラグのオン/オフにすぎないようです。それ以上は何もしません。ブレークポイントを設定して両方のバージョンをデバッグできます。結果の.apkは同じサイズです。

cxLog.e( "TOKEN", " Debuggable=" + (( context.getPackageManager().getApplicationInfo( comp.getPackageName(), 0 ).flags &= ApplicationInfo.FLAG_DEBUGGABLE ) != 0 ) ); 

10-28 14:46:12.479:ERROR/TOKEN(1856):Debuggable = false

18

問題は、Eclipseから自分のアプリケーションのリリースモードバージョンを作成する方法です。

これをチェックしてください: アプリケーションをリリースモードでコンパイルします

Androidツール>署名のないアプリケーションパッケージのエクスポート


真のデバッグビルドのサポート 。開発者は、マニフェストのタグにAndroid:debuggable属性を追加する必要がなくなりました—ビルドツールが属性を自動的に追加します。 Eclipse/ADTでは、すべての増分ビルドはデバッグビルドであると想定されているため、ツールはAndroid:debuggable = "true"を挿入します。署名付きリリースビルドをエクスポートする場合、ツールは属性を追加しません。 Antでは、ant debugコマンドが自動的にAndroid:debuggable = "true"属性を挿入しますが、antリリースは挿入しません。 Android:debuggable = "true"が手動で設定されている場合、ant releaseは実際にはリリースビルドではなくデバッグビルドを実行します。

16
Reno

アプリをリリースモードでSIGNED INおよびZip ALIGNEDして、配布してGoogle Playストアに更新できるようにする場合は、以下の手順に従ってください。

 --> Right click on project
 --> Android Tools
 --> Export Unassigned app and save in directory like D:\Sdcard.apk

         //Now open your windows terminal, CMD
 --> change directory to the bin of the jave like
 --> cd c:\ProgramFiles\Java\JDK\bin

これで、作成する時が来ましたKeystore Released File ...次に、これらのコマンドをTERMINALに書き込みます。

keytool -genkey -v -keystore my-release-key.keystore -keyalg RSA -keysize 2048 -validity 14600

これはKeystore "password"とKey "password"を推奨するので、別のパスワードを入力して、後で尋ねる質問に答えます。これでmy-release-key.keystoreファイルは、Javaの「bin」フォルダがあるディレクトリに生成されます。私のシステムのように、

     c:\ProgramFiles\Java\JDK\bin\ my-release-key.keystore

アプリでサインインするためにターミナルでこのコマンドを書きます

jarsigner -verbose -keystore my-release-key.keystore D:\ Sdcard.apk mykey

次に、端末をAndroid sdk 21\tool \にあるZipalign.exeファイルにリダイレクトします。私のシステムのように、

cd F:\ Softwares\LANGUAGES SOFTEARE\Android Setup\Android-sdk-21 version\tools

その後、ターミナルに以下の行を入れます

zipalign -v 4 D:\ Sdcard.apk newSdcard.apk

おめでとう! -今、あなたはnewSdcard.apk Android sdk\tool内のファイル、それをPlayストアにアップロードして、愛を込めて覚えておいてください。????

4
Pir Fahim Shah

Android SDKの現在のバージョンでは、プロジェクトを右クリックして、Androidツール>署名付きアプリケーションパッケージをエクスポートし、キーストアを選択します

1
slinden77