2014-03-03 83 views
0

我使用構造2來構建我的應用程序,然後將它們導出到CocoonJS,然後將它們編譯爲本機應用程序。我下載了一個未簽名的.apk文件,簽名並上傳Google Play。這些應用程序非常棒,就像它們本地編寫的一樣。Ludei Android應用程序需要不必要的權限

當我用CocoonJS編譯我的應用程序時,它需要我的應用程序不需要的所有這些權限。我如何刪除不需要的權限?

回答

1

直到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的框架內,在鍵入:

apktool如果game.apk

它的瞬間,一個反饋,它安裝在位置127或左右。現在我們要反編譯APK,輸入此命令:

apktool d game.apk遊戲

這需要一段時間,具體取決於你的電腦遊戲&速度的大小,但你game.apk的所有內容將被反編譯並存儲在與您的game.apk相同的子文件夾中,即。遊戲。請注意,如果您使用不同版本的apktool,則可能需要將標誌更改爲:apktool d game.apk -o遊戲,以便正確反編譯。

瀏覽新遊戲子文件夾,你會看到所有的內容。我們之後的是AndroidManifest.xml,用Notepad ++打開它

高分辨率版本:halfgeekstudios.files.wordpress.com/2014/07/androidmanifest.jpg 通過刪除灰色突出顯示的行來刪除權限!

權限ACCESS_NETWORK_STATE &互聯網是必需的,如果你刪除它,你的遊戲很可能在啓動時崩潰。即使您沒有廣告或IAP或社交插件,情況也是如此。 CJS需要這些,因爲它有一些內置的分析需要它。如果您實施IAP,則還需要BILLING。有趣的是,谷歌已經決定,這三個上述權限現在將被視爲正常,並且當遊戲只有這三個權限時,它們不會警告用戶,只要它包含其他權限!

在這裏,我想指出這一行:

您可以編輯你的遊戲將它們設置爲false,在手機或平板電腦。如果你設置了smallScreens & normalScreens =「false」,遊戲只與平板電腦兼容,反之亦然(我已經用我自己的遊戲測試過)。如果您將目標設計爲平板電腦,並且不想手動過濾6,400臺設備(每次只能一個設備),則此功能非常方便。 :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

+0

感謝你,我也試試這個(我應該提到),我甚至產生了一堆的批處理文件來自動完成一切。唯一的問題是,它是「搗亂」,有時不起作用。 (還是)感謝你的建議。 – jabelone

0

您無法刪除它。嘗試其他工具,如Phonegap。 phonegap

相關問題