【原生】CocosCreator apk打包發布 (APPABI、jsc、網易易盾、權限、app名稱圖標、包名、簽名)


Cocos版本:2.4.4 

 

一 打包apk

二 App ABi的勾選

三 加密腳本

四 網易易盾插件

五 其它問題

 

一 打包apk

在android studio中,選擇生成帶簽名的apk

 

 選擇APK

 

 

選擇Module處,選擇你的項目。

然后如果已有簽名jks文件則選擇choose existing,並輸入你的key store密碼。  沒有jks文件的話選擇新建一個create new。

 

 

選擇create new,新建一個key store,記住你的密碼。

 

 

創建並選擇key store后,選擇下一步,選擇v1。

v1和v2的區別查看:淺談android簽名v1和v2

二者簽名所產生的結果:
v1:在v1中只對未壓縮的文件內容進行了驗證,所以在APK簽名之后可以進行很多修改——文件可以移動,甚至可以重新壓縮。即可以對簽名后的文件在進行處理
v2:v2簽名驗證了歸檔中的所有字節,而不是單獨的ZIP條目,如果您在構建過程中有任何定制任務,包括篡改或處理APK文件,請確保禁用它們,否則您可能會使v2簽名失效,從而使您的APKs與Android 7.0和以上版本不兼容。

 

 

點擊finish后,進行打包apk,可以在build欄查看打包進度。

 

 

 打包成功后,會顯示success;打包失敗的話查看錯誤。

 

 

在項目中找到release目錄,下面有你打包出來的apk

 

 

二  App ABI的勾選

app abi對應不同的cpu設備,勾選的越多,適應的設備越多,包體越大。

發布apk后在lib文件夾下可查看,一個有20M左右。感覺只需要勾選armeabi-v7a和x86就可以了。

 

 app abi設備的cpu類型:

  1. armeabiv-v7a: 第7代及以上的 ARM 處理器。2011年15月以后的生產的大部分Android設備都使用它.
  2. arm64-v8a: 第8代、64位ARM處理器,很少設備,三星 Galaxy S6是其中之一。
  3. armeabi: 第5代、第6代的ARM處理器,早期的手機用的比較多。
  4. x86: 平板、模擬器用得比較多。
  5. x86_64: 64位的平板。

 

發布后在android項目中的APP ABI配置

 

 

解壓了幾個線上游戲看了看lib文件夾

 

 

三 加密腳本

 

未加密的話解壓apk包后,js的文件是這樣的

 

 

 

 

勾選加密后,js文件會變成jsc后綴的文件

 

 

 

 

四 網易易盾插件

商店里有免費插件 

 

 在游戲構建發布后,打開插件

 

 

配置好后點擊加密

 

解壓經過網易易盾加固的apk,解壓后的apk里圖片都無法查看

 

json文件也無法閱讀了

 

js文件

 

 

這個網易加固和cocos發布面板的加密可以共存。但是感覺這個插件是用來給網易易盾引流的。。。

 

五 其它問題

1 修改app的icon

找android項目res路徑下的app圖標進行替換

 

 

 一共有好幾個

 

 2 修改app的名稱

找到項目中的strings.xml文件,修改app_name名稱

 

 

app_name在AndroidManifest.xml文件中被引用

 

 

3 修改包名

 

 

4 修改權限

安卓權限相關說明:Android中的權限

所有安卓權限API:完整安卓權限API參考文檔

 

5 版本號設置

versionCode  用於版本控制,當已安裝app是2,新下載安裝的app是1時,替換會失敗。

versionName 在安裝時,安裝界面顯示給用戶看的版本號

 

6 簽名錯誤

在生成簽名時報錯

 

在jdk\bin目錄下shift+右鍵,選擇打開命名窗口

 

把keytool.exe拖動到窗口中

 

再輸入

keytool -importkeystore -srckeystore F:\Git\Cocos_Diablo\hotUpdate\diablo.jks -destkeystore F:\Git\Cocos_Diablo\hotUpdate\diablo.jks -deststoretype pkcs12

 

 7 transformClassesAndResourcesWithProguardForRelease

android打包時會對代碼混淆,刪除無用資源等,這個錯誤是開啟了混淆但是找不到相應的類

 

 

解決方案1:

在build.gradle中將minifyEnabled和shrinkResources設置為false,則打包成功。

 

解決方案2:

在proguard-rules.pro文件中,將報錯提示的類都設置為 

-keep  xxxx

-dontwarn xxxxxx

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM