記錄--UNI-APP安卓本地打包詳細教程(保姆級)

来源:https://www.cnblogs.com/smileZAZ/archive/2022/10/26/16829070.html
-Advertisement-
Play Games

這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 一、開發環境 uni-app 官方文檔地址 原生開發者支持 1、Android Studio 下載地址:Android Studio官網 OR Android Studio中文社區 2、最新版的HBuilderX 3、App離線SDK下載 ...


這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助

一、開發環境

uni-app 官方文檔地址 原生開發者支持

1、Android Studio 下載地址:Android Studio官網 OR Android Studio中文社區

2、最新版的HBuilderX

3、App離線SDK下載:最新android平臺SDK下載

4、3.1.10版本起需要申請Appkey,申請請參考

二、準備環境

1)Android Studio下載

點擊進入 Android Studio官網 或者 Android Studio中文社區

點擊Download Android Studio,然後下滑彈窗勾選同意協議,並點擊下載Android Studio

 

下載成功後安裝即可。

2)最新版HBuilderX下載

HBuilderX:官方IDE下載地址

HBuilderX 3.4.6版本起,取消單獨的App開發版安裝包,統一為一個標準安裝包。標準版也可以安裝app相關插件。

這裡直接下載最新的正式版。

 如果是已有老版的HBuilderX,可打開編輯器後,通過點擊幫助,點擊檢查更新後,直接點擊立即更新,然後等待自動更新後重啟HBuilderX即可

 3)App離線SDK下載

 點擊進入:最新android平臺SDK下載

 複製提取碼後進入百度雲直接下載最新版壓縮包

 下載成功後解壓壓縮包後打開,可根據個人習性,將HBuilder-Integrate-AS文件夾拷貝至其他專門存放打包文件的文件夾內

4)生成本地打包APP資源

打開最新版HBuilderX,點擊界面上方的發行,點擊原生App-本地打包,點擊生成本地打包資源 

 生成資源成功之後,點擊生成鏈接進入存放目錄,保存生成的文件

5)申請Appkey

首先登錄開發者中心,沒有賬號的必須註冊一個。

登錄成功後點擊想要離線打包的項目,進入到項目的詳情頁

點擊菜單欄的離線打包Key管理,勾選打包的平臺,自定義Android包名,輸入Android 證書簽名SHA1,最後點擊保存即可生成AppKey。

可通過在生成的Android 證書目錄裡面cmd命令行輸入

keytool -list -v -keystore 證件名.keystore

回車後輸入證書文件密碼,來查看證書信息(SHA1,SHA256證書指紋)

三、開始離線打包

上述準備工作全部完成後,首先打開Android Studio編輯器導入之前準備工作里步驟三生成的離線SDK資源里的 HBuilder-Integrate-AS 文件夾

 

 導入成功後,首先替換掉simpleDemo\src\main\assets\apps目錄下的原有資源,更換為之前準備工作里步驟四HbuiderX 生成的本地打包APP資源

 然後將data目錄下的dcloud_control.xml文件內的appid清空,更換成自己uni-app的應用標識AppID,也就是準備工作里步驟四HbuiderX 生成的本地打包APP資源的名稱

 打開Androidmanifest.xml文件,將android:value替換為之前準備工作步驟五里申請的Appkey,將package更換為Android包名

 

 打開values目錄下的strings.xml文件,輸入自己應用想要的應用名稱(類似QQ、微信這些應用名稱)

打開drawable目錄,該目錄主要存放

icon.png : logo圖片

push.png : 消息推送logo

splash.png : 啟動頁

選中任意圖片右鍵,可點擊Create 9-Patch file 將圖片更換為.9.png類型,防止不同型號手機導致圖片變形

打開build.gradle文件,填入Android包名和大版本號和小版本號

可通過在simpleDemo\src\main\assets\apps\__UNI__B0DA83E\www目錄下的manifest.json文件查看版本號信息

 最後就可以點擊Android Studio編輯器上方的build,點擊Generate  Signed Bundle / APK進行打包

 

依次輸入Android平臺簽名證書(.keystore)的證書路徑、證書秘鑰、證書別名和打包密碼

 選擇正式包,最後點擊Finish,等待打包完成即可

 最後這就是打包完成後的文件,整個離線打包也就結束了,可以直接在手機上進行安裝了

 

四、解決問題

最新解決Android Studio打包沒有Generate Signed Bundle/APK選項

在開發React native安裝Android Studio時,出現了一些問題,沒有Generate Signed Bundle/APK打包選項. 
在網上查很多都是點擊File,選擇Sync Project with Gradle Files,我這邊設置無效。 

最終通過一系列配置才顯示出來。

請檢查是否有以下條件:

1、Node.js環境

檢查是否有安裝nodejs

2、JDK

JDK(Java Development Kit)是 Java 開發套件的簡稱。我們用 React Native 開發的 Android 應用,最
終是運行在 Java 環境中的。所以,需要安裝 JDK。
下載地址: https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
安裝完成後,進行校驗,打開cmd命令行,輸入 java -version,然後回車,驗證安裝是否成功(看到版本號,說明JDK 安裝成功)。

3、Android Studio環境變數

先查看Android Studio SDK位置:

 

 在系統變數中添加ANDROID_HOME:

編輯系統變數中的Path:
新增4個
%ANDROID_HOME%\platform-tools
%ANDROID_HOME%\emulator
%ANDROID_HOME%\tools
%ANDROID_HOME%\tools\bin

以上配置完成後重啟軟體,即可生效。

本文轉載於:

https://blog.csdn.net/PIOnly/article/details/125196697

如果對您有所幫助,歡迎您點個關註,我會定時更新技術文檔,大家一起討論學習,一起進步。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1 引言 之前介紹了Redis的數據存儲及String類型的實現,接下來再來看下List、Hash、Set及Sorted Set的數據結構的實現。 2 List List類型通常被用作非同步消息隊列、文章列表查詢等;存儲有序可重覆數據或做為簡單的消息推送機制時,可以使用Redis的List類型。對於這 ...
  • 很多同學都覺得公有雲、私有雲、混合雲這些概念的認識比較混亂,開始我面對網上很多專業的解釋不明所以,直到我遇到這個說法: 大白話解釋一下 你娶了一個老婆,這叫傳統IT架構。 你覺得一個老婆不夠,這叫傳統企業CIO的困境。 你又娶了一個老婆,這叫雙活數據中心。 你在外地又娶了一個小老婆,這叫兩地三中心容 ...
  • 在日常開發中JSON的序列化與反序列化是一個常見的操作;而Dart語言不支持反射,運行時反射會影響Dart的tree shaking(搖樹優化),tree shaking可以“抖掉”不需要使用的代碼,顯著優化 App 的體積,所以Flutter中沒有類似Gson這樣的Json庫,處理方法相比Kotl ...
  • 文本識別技術(OCR)可以識別收據、名片、文檔照片等含文字的圖片,將其中的文本信息提取出來,代替了人工信息錄入與檢測等操作,降低了輸入成本,快速、方便,提升產品的易用性。 隨著技術的發展,OCR已經深入生活的諸多方面。交通場景下,主要用於車牌識別,便於停車場管理、智能交通、移動警務等;生活場景下,主 ...
  • 一、術語 路由(route): 在 Flutter 中,屏 (screen) 和 頁面 (page) 都叫做 路由 (route)。 在 Android 開發中,Activity 相當於“路由”,在 iOS 開發中,ViewController 相當於“路由”。在 Flutter 中,“路由”也是一 ...
  • 非同步模式Asynchronous 不會等待這個任務結束才開始執行下一個任務,開啟之後立即執行下一個任務,後續邏輯一般會通過回調函數的方式定義,非同步模式對js 非常重要,沒有非同步任務單線程的 js 語言就無法同時處理大量耗時任務,單線程下麵的非同步最大的難點就是 代碼的執行順序混亂,Queue是消息隊列 ...
  • 1.1 模塊與組件、模塊化與組件化 1.1.1 模塊 理解:向外提供特定功能的 js 程式,一般就是一個 js 文件 為什麼:js 文件很多很複雜 作用:復用 js,簡化 js 的編寫,提高 js 運行效率 1.1.2 組件 理解:用來實現局部(特定)功能效果的代碼集合( html/css/js/i ...
  • 01、描述事件冒泡的流程 基於 DOM 樹結構,事件會順著觸發元素向上冒泡 點擊一個div,會一級一級向父級、爺級元素上冒泡,這個點擊事件不僅能被這個div捕捉到,也能被他的父級、爺爺級…元素捕捉到 例如: <style> div{ width:200px; height: 200px; backg ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...