IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> android studio打包(离线打包亲妈级)详解 -> 正文阅读

[移动开发]android studio打包(离线打包亲妈级)详解

当你翻到这篇文章的时候相信你肯定和我遇到了一样的问题,这篇文章也是自己研究android studio的经历,希望这篇文章能帮助到各位。刚开始接触离线打包的时候,是因为老板不喜欢线上打包附带的广告(uni-ad),但是又很痛恨没办法完全去除,然后卑微的我就那什么你们都懂的!!!这篇文章是以(h5+App)打包流程为基准,这个如果你能配置成功那么别的项目也问题不大。不废话了进入正题,亲妈级别的离线打包教学来咯 小编已将 示例项目放到了资源里面 需要了自行下载

第一步:我们先来看一下Android本地打包(H5+App)

https://nativesupport.dcloud.net.cn/AppDocs/usesdk/android
在这里插入图片描述
这里我用的是最新android平台SDK,下载的速度有点缓慢。请注意第③个红框 3.1.10版本起需要申请Appkey, 这个地方一会顺带着说。第一步就先说到这先下载最新版本的SDK,等一会用。
在这里插入图片描述
然后,android studio的下载就是的第①个红框了。这里用的是3.0的正式版。不要问为啥问就是下就对了。
在这里插入图片描述

第二步:新建一个my Application(测试项目)项目先跑一下

就选这个empty activity不要问为啥,选这个就对了,点击next
在这里插入图片描述
进入下一步之后 红框① 这个地方选java,红框②这个地方,根据你自己电脑配置,这个地方有一个坑点就是版本太低的话,可能会有一系列问题。建议最低Android 6.0。点击Finish(测试项目,名称我就没改)
在这里插入图片描述
创建完成后就是这个熊样子
在这里插入图片描述
这里我建议用真机测试跑,拿上你的数据线,连接电脑USB口,手机打开发者模式,传输文件,允许USB调试。这些操作成功之后,骚等一会你会在右上角看到,识别出来自己的手机型号。就下图这样色儿的。
在这里插入图片描述
点击红框右边的那个三角按钮,让它哇塞的跑一哈,它会在你手机上面创建一个app名字就是 你刚刚命名的 MY Application,出现如下图这个熊样子,

在这里插入图片描述

就说明你已经成功了一小小小小半了。这个跑成功证明你android studio环境没有问题,能正常连接到手机,你说是不是成功了一小小小小半了?
在这里插入图片描述

第三步:登录我们的ucloud开发者中心儿

https://dev.dcloud.net.cn/ 创建我们的小应用。我这里之前说过了用的是5+app所以我创建一个5+app应用。
在这里插入图片描述

确认完毕后,点击应用名,进入你该进入的地儿,不要乱入。听党话,跟党走。
在这里插入图片描述

在这里插入图片描述
接下来我们来到了 这里。点一下红红的框框。下面这一步如果你已经有了应用证书,那 下面这一步可以跳过,
在这里插入图片描述

创建证书,少许等待片刻,这一步我认为挺省事的,以为可以在证书详情里面直接查看我们的 Android 证书签名SHA1 不用再去敲命令行 获取,效率嘎嘎高。生成好的证书,下载一份到本地,证书详情。查看这三个重要的信息保存起来。
在这里插入图片描述

第四部:生成我们离线打包用到的的AppKey

包名是需要自己定义的,后面要用到,建议定义一个和项目相关的,开发的过程中,项目比较多,容易区分,证书签名就是刚刚让你保存的那个玩意SHA1 保存之后会生成我们的APPKey。每次改动报名 AppKey会重新生成,切记后续不要乱修改。
在这里插入图片描述
下面这红框里面的就是我们要的东西了,保存起来,等会用到。
在这里插入图片描述

第五步:接下来要进入认真模式,创建我们想要的项目

在这里插入图片描述

准备工作已经完毕,即将进入此篇文章白热化部分,请系好安全带。


在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
新创建的项目是没有release的
④把刚刚下载的SDK latest\3.1.18\Android-SDK@3.1.18.80859_20210610\SDK\libs 里面的三个文件,拷贝到libs文件夹下面
在这里插入图片描述
⑥代开src=>main文件夹新建文件夹assets,然后回到hbuildex生成本地打包的资源
在这里插入图片描述
在这里插入图片描述
⑦我们在assets文件夹下面新建一个apps文件夹,把我们生成的离线打包的资源拷贝进去
在这里插入图片描述
⑧在apps同一级目录下创建一个data文件夹,\latest\3.1.18\Android-SDK@3.1.18.80859_20210610\SDK\assets\data下有三个文件在这里插入图片描述
复制进data里面
⑨点击build.grade,下滑到底部资源引用页面
添加如下引用资源

    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation fileTree(dir: 'libs', include: ['*.aar', '*.jar'], exclude: [])

    implementation 'com.github.bumptech.glide:glide:4.9.0' // 基座依赖

    //noinspection GradleCompatible
    implementation 'com.android.support:support-v4:28.1.1'
    implementation 'com.alibaba:fastjson:1.1.46.android'

在这里插入图片描述
点击同步
在这里插入图片描述
在原页面最上方配置app版本号,以及证书信息。
在这里插入图片描述

applicationId为创建时的包名,compileSdkVersion为编译版本,minSdkVersion为兼容最小的版本号,targetSdkVersion为目标版本,有兴趣的可以百度一下三者之间的区别和联系。注意,官方文档中标注“App离线SDK minSdkVersion最低支持19,小于19在部分4.4以下机型上将无法正常使用。”

versionCode需要设定一个数值,一般为1,每次更新版本时versionCode的值都要比前一个设置的值大,否则无法正常安装,versionName一般填写主版本号次版本号和修正号,如图中的“1.0”为最初版本号,其余的可以自行查阅。
⑩在app→src→main→res→ values配置strings.xml文件,修改应用名称,与刚刚引入本地打包资源的里的manifest.json文件(assets>apps>“应用id名文件夹”>www下)比较。
在这里插入图片描述
发现不一致的情况,遂将string.xml里的“Test2020”改为manifest.json文件里面的name。
在app→src→main下配置AndroidManifest.xml文件,
在这里插入图片描述
在将内容添加到application节点之前,不知道大家发现没,Application标签下红色圈中内部也有activity,它和即将添加的activity之间会不会有冲突呢。

实际上使用AndroidStudio开发软件时,一个activity的使用要在AndroidManifest.xml中声明,我们在第一步末尾运行时发现最后输出了"Hello World!"字样的界面。

仔细观察图中圈出的activity,作为"Run App"跑出来的页面,它在AndroidManifest.xml文件中标签内做出了主页声明,如果你不考虑这点直接忽略它的话,在模拟器上跑时也许会生成两个相同图标的app,分别打开后一个是“Hello World!”界面,一个是你项目自定义的首页如index.html,也有一定可能无法正常运行,所以最好的办法是直接注释掉。

然后继续下一步,添加内容到application节点)。

<activity
      android:name="io.dcloud.PandoraEntry"
      android:configChanges="orientation|keyboardHidden|keyboard|navigation"
      android:label="@string/app_name"
      android:launchMode="singleTask"
      android:hardwareAccelerated="true"
      android:theme="@style/TranslucentTheme"
      android:screenOrientation="user"
      android:windowSoftInputMode="adjustResize" >
      <intent-filter>
          <action android:name="android.intent.action.MAIN" />
          <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
  </activity>
  <activity
      android:name="io.dcloud.PandoraEntryActivity"
      android:launchMode="singleTask"
      android:configChanges="orientation|keyboardHidden|screenSize|mcc|mnc|fontScale|keyboard"
      android:hardwareAccelerated="true"
      android:permission="com.miui.securitycenter.permission.AppPermissionsEditor"
      android:screenOrientation="user"
      android:theme="@style/DCloudTheme"
      android:windowSoftInputMode="adjustResize">
      <intent-filter>
          <category android:name="android.intent.category.DEFAULT" />
          <category android:name="android.intent.category.BROWSABLE" />
          <action android:name="android.intent.action.VIEW" />
          <data android:scheme="h56131bcf" />
      </intent-filter>
  </activity>

下面配置资源环境。

将assets下apps文件夹中的manifest.json文件和data文件夹中的dcloud_control.xml文件打开,确保manifest.json中的id和dcloud_control.xml中的appid一致。
在这里插入图片描述
以上就是最常规的配置方法,但是还没有完这是以前版本的正常配置流程。请看
在这里插入图片描述
我们回到AndroidManifest.xml页面把这个东西设置上
在这里插入图片描述
最后就是在根目录的在这里插入图片描述
这个文件里面加上这两句

android.useAndroidX=true
# 要加上这两个东西
android.enableJetifier=true

至于icon的配置小编这里就不多说了网上有很多方法 我这里在这说一下我遇到的各种坑。也是参照了这位博主的流程,写的可能不是太到位后面发现陆续补充,路过的朋友发现有不对的地方请指教。
https://blog.csdn.net/weixin_44503391/article/details/106341009

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-07-28 07:56:17  更:2021-07-28 07:57:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/3 6:12:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码