コンストラクト 2 を使用してアプリをビルドし、それを CocoonJS にエクスポートしてネイティブ アプリとしてコンパイルします。署名されていない .apk ファイルをダウンロードし、署名してから Google Play にアップロードします。アプリは、ネイティブに作成されたものと同じように、うまく機能します。
CocoonJS でアプリをコンパイルすると、アプリが必要としないこれらのアクセス許可がすべて必要になります。不要なアクセス許可を削除するにはどうすればよいですか?
コンストラクト 2 を使用してアプリをビルドし、それを CocoonJS にエクスポートしてネイティブ アプリとしてコンパイルします。署名されていない .apk ファイルをダウンロードし、署名してから Google Play にアップロードします。アプリは、ネイティブに作成されたものと同じように、うまく機能します。
CocoonJS でアプリをコンパイルすると、アプリが必要としないこれらのアクセス許可がすべて必要になります。不要なアクセス許可を削除するにはどうすればよいですか?
Ludei がクラウド コンパイラにオプションのアクセス許可を実装するまでは、問題を解決するために少し「ハッキング」を行う必要があります。
添付の apktool.zip を取得し、C:\Android フォルダーに展開します (後で簡単にするため)。 https://static3.scirra.net/uploads/articles/1071/apktool.zip
リリースの CJS コンパイル済み game.apk (ここでは、その APK ファイルを game.apk と呼びます) を C:\Android にコピーして、抽出された apktool ファイルと同じフォルダーに配置します。
Shiftキーを押しながらそのフォルダのどこかを右クリックして、C:\ Androidでコマンドプロンプトを開きます。
まず、CJS でコンパイルされた game.apk のフレームワークをインストールする必要があります。次のように入力します。
game.apk の場合は apktool
その瞬間、127かそこらの場所に設置されたというフィードバックがありました。次に、APK を逆コンパイルする必要があります。次のように入力します。
apktool d game.apk ゲーム
ゲームのサイズと PC の速度によっては時間がかかりますが、game.apk のすべてのコンテンツが逆コンパイルされ、game.apk と同じ名前のサブフォルダーに保存されます。ゲーム。異なるバージョンの apktool を使用する場合は、正しく逆コンパイルされるようにフラグを apktool d game.apk -o game に変更する必要がある場合があります。
新しいゲームのサブフォルダーを参照すると、すべてのコンテンツが表示されます。私たちが求めているのは AndroidManifest.xml で、Notepad++ で開きます
高解像度バージョン: halfgeekstudios.files.wordpress.com/2014/07/androidmanifest.jpg 灰色で強調表示された行を削除して、アクセス許可を削除します。
アクセス許可 ACCESS_NETWORK_STATE & INTERNET が必要です。これを削除すると、起動時にゲームがクラッシュする可能性があります。これは、広告、IAP、またはソーシャル プラグインがない場合でも当てはまります。CJS には、それを必要とするいくつかの組み込み分析があるため、これらが必要です。IAP を実装する場合は、BILLING も必要です。興味深いことに、Google は、前述の 3 つのパーミッションが通常と見なされるようになり、ゲームにこれら 3 つしかない場合はユーザーに警告せず、他のパーミッションが含まれている場合にのみ警告することを決定しました!
ここで、次の行を指摘したいと思います。
false に設定することで、携帯電話やタブレットでゲームを編集できます。smallScreens & normalScreens ="false" を設定すると、ゲームはタブレットとのみ互換性があり、その逆も同様です (私は自分のゲームでこれをテストしました)。これは、ターゲットをタブレット向けに設計していて、6,400 を超えるデバイスを一度に 1 つずつ手動でフィルタリングしたくない場合に便利です。:D
変更が完了したら、保存します。コマンド プロンプトに戻り、次のように入力して新しい APK に再コンパイルします。
apktool b ゲーム game_new.apk
少し時間がかかりますが、変更された game_new.apk が取得されます。Google Play にアップロードする前に、通常の署名と zip の整列を行う必要があります。
https://www.scirra.com/tutorials/1071/removing-permissions-from-cocoonjs-compiled-apk
削除することはできません。Phonegap などの他のツールを試してください。フォンギャップ