1. 程式人生 > >xamarin.form建立專案和打包

xamarin.form建立專案和打包

建立專案

1。新建專案。點選新建專案->Visual Studio C#->Cross-Platform->移動應用(Xamarin.Forms)->輸入名稱並確定->選擇Blank並勾選Android和IOS->確定

2。在右側Android專案上設定為啟動項,F5啟動

釋出Android專案

1。將Android專案的除錯狀態改為Release

2。修改當前Android的APP圖示,首先準備一個圖片,必須為png格式的,將其複製到Android專案的Resources/drawable下面,然後開啟MainActivity.cs檔案,

將值修改為Icon="@drawable/bitbug_favicon" 其中bitbug_favicon是圖片名稱,不包含副檔名

3。修改版本號和版本名稱

  版本號 – 表示應用程版本的整數值,供 Android 和應用程式內部使用。 對大多數應用程式而言,此值的初始設定為 1,之後隨每個內部版本遞增。 此值與版本名稱屬性(見下文)沒有關係或關聯。 應用程式和釋出服務不應向用戶顯示此值。 此值在 AndroidManifest.xml 檔案中儲存為 android:versionCode。

  版本名稱 – 僅用於向用戶傳遞應用程式(如安裝在特定裝置上)的版本相關資訊的字串。 版本名稱將向用戶顯示,或在 Google Play 中顯示。 此字串不供 Android 內部使用。 版本名稱可以是任何字串值,它能幫助使用者瞭解其裝置上安裝的版本。 此值在 AndroidManifest.xml 檔案中儲存為 android:versionName。

在Android專案上點選右鍵屬性,開啟Android 清單後可以看到版本號和版本名稱,其中版本名稱會在安裝時顯示

 

4.配置連結器

釋出模式會關閉共享執行時並開啟連結,使應用程式只提供執行時需要的 Xamarin.Android 部分。 Xamarin.Android 中的連結器使用靜態分析來確定 Xamarin.Android 應用程式所使用或引用的程式集、型別和型別成員。 然後,連結器將放棄所有未使用(或引用)的程式集、型別和成員。 這可顯著減小包的大小。 例如,HelloWorld 示例,其 APK 的最終大小減少了 83%:

配置:無 – Xamarin.Android 4.2.5 大小 = 17.4 MB。
配置:僅 SDK 程式集 – Xamarin.Android 4.2.5 大小 = 3.0 MB。
通過專案“屬性”的“Android”部分設定連結器選項。 若要訪問連結器選項,請單擊“連結器”選項卡,如以下螢幕截圖所示:

 

“連結”下拉選單提供以下選項,用於控制連結器:

無 – 這將關閉連結器;不會執行任何連結。
僅 SDK 程式集 – 這會僅連結 Xamarin.Android 所需的程式集。 不會連結其他程式集。
SDK 和使用者程式集 – 這會連結應用程式所需的所有程式集,而不是僅連結 Xamarin.Android 所需的程式集。
連結可能產生一些意外的副作用,因此必須在物理裝置上的釋出模式下重新測試應用程式。

5。保護應用程式,禁用除錯

在 Android 應用程式開發期間,將使用 Java 除錯線路協議 (JDWP) 執行除錯。 這是一種技術,它允許 adb 等工具出於除錯目的與 JVM 通訊。 預設對 Xamarin.Android 應用程式的除錯版本啟用 JDWP。 雖然 JDWP 在開發過程中很重要,但它會對已釋出的應用程式造成安全問題。

AssemblyInfo.cs中加入如下程式碼即可

#if DEBUG 
[assembly: Application(Debuggable=true)] 
#else 
[assembly: Application(Debuggable=false)] 
#endif

6.修改程式名稱

開啟MainActivity.cs檔案,找到Label,修改App名稱

對應Android程式的

7。修改程式的程式名稱和安裝包名稱

在Android專案上右鍵屬性

應用程式名稱,在安裝時會顯示,程式包名稱是打包出來的包檔案的檔名,不包含副檔名

檔名稱

8。此時需要重新生成解決方案,並確保是在Release模式下,如果不是Release模式下,你需要從第一步開始重新檢查一遍

9。在Android專案上點選右鍵->存檔->等待完成->點選分發->點選臨時->如果沒有簽名就建立簽名,如果有就點選簽名->點選另存為->儲存Apk檔案並測試安裝

如果你沒有簽名檔案,請點選加號建立一個簽名檔案

密碼需要每次打包都輸入,所以必須要記好,但是這簽名中的內容對應什麼意思現在還沒搞清楚,等搞清楚後再回來修改

-------------------------

至此Android端的釋出完成,可以複製Apk檔案到Android真機上安裝測試了