uni-app开发应用,Android Studio 本地打包发布

2024-03-25 1220阅读

温馨提示:这篇文章已超过399天没有更新,请注意相关的内容是否还可用!

打包背景:

因为使用uni-app云打包的app,在安卓4.4上运行不了,故而需要使用本地打包的方式解决此问题。

话不多说,直接上手操作,具体如下:

一、开发环境准备

参考官网操作 :开发环境 | uni小程序SDK

需要注意,App 离线 SDK版本不要使用最新的,我目前使用“Android-SDK@3.6.4.81503_20220926” 此版本是可以正常打包运行的,不过官网已经找不到此版本下载链接,如果需要,可以私信我,我转发给你,或者是在官网的QQ群里面问,里面会有很多热心的大佬,说不定刚好他们手上有此版本,这样你就可以问他们给了,我也是通过官方群问群里大佬拿到的,在此感谢 群里 “初学者”提供的SDK版本

二、系统环境变量设置

1、新增系统变量:ANDROID_HOME ,设置目录到类似目录“C:\Users\gxsyh\AppData\Local\Android\Sdk”

uni-app开发应用,Android Studio 本地打包发布

接着在系统变量Path上新增5个变量:

C:\Program Files\Java\jre-1.8\bin 【这里要看自己实际安装目录】

%ANDROID_HOME%\platform-tools

%ANDROID_HOME%\emulator

%ANDROID_HOME%\tools

%ANDROID_HOME%\tools\bin

如下图

uni-app开发应用,Android Studio 本地打包发布

2、用户变量设置

新增Android_Home变量,并设置

C:\Users\gxsyh\AppData\Local\Android\Sdk 和C:\Users\gxsyh\AppData\Local\Android\Sdk\platform-tools

uni-app开发应用,Android Studio 本地打包发布

最后修改Path路径变量

C:\Program Files\Java\jre-1.8\bin 和 %Android_Home%

uni-app开发应用,Android Studio 本地打包发布

三、导入工程项目

1、先解压Android-SDK@3.6.4.81503_20220926,并导入项目HBuilder-HelloUniApp【对应 一的第三步:App 离线 SDK 下载】

路径说明:

HBuilder-HelloUniApp:专门用来做打包的,注意打包必须使用此环境

**HBuilder-Integrate-AS:**调试的版本,打正式包不要使用此项目

需要注意,目录不能有中文名称

uni-app开发应用,Android Studio 本地打包发布

uni-app开发应用,Android Studio 本地打包发布

uni-app开发应用,Android Studio 本地打包发布

2、Uni-app本地打包资源生成

点击 发行-》原生App本地打包-》生成本地App资源包

uni-app开发应用,Android Studio 本地打包发布

3、复制uni-app生成的资源包到项目apps目录

目录地址例如:D:\01-MyWoekFile\03-HBuilderX\01-build\Android-SDK@3.6.4.81503_20220926\HBuilder-HelloUniApp\app\src\main\assets\apps

uni-app开发应用,Android Studio 本地打包发布

四、证书设置

1、登录后台 ,找到云证书【云证书在uni-app生成云打包会自动生成】

登录 (dcloud.net.cn)

uni-app开发应用,Android Studio 本地打包发布

2、AndroidManifest.xml文件设置

路径:D:\01-MyWoekFile\03-HBuilderX\01-build\Android-SDK@3.6.4.81503_20220926\HBuilder-HelloUniApp\app\src\main

uni-app开发应用,Android Studio 本地打包发布

3、设置dcloud_control.xml

路径:D:\01-MyWoekFile\03-HBuilderX\01-build\Android-SDK@3.6.4.81503_20220926\HBuilder-HelloUniApp\app\src\main\assets\data

uni-app开发应用,Android Studio 本地打包发布

4、设置strings.xml 的名称

路径:D:\01-MyWoekFile\03-HBuilderX\01-build\Android-SDK@3.6.4.81503_20220926\HBuilder-HelloUniApp\app\src\main\res\values

uni-app开发应用,Android Studio 本地打包发布

5、设置 build.gradle 阿里下载路径【也可以不用设置】

        maven() {
            url 'https://maven.aliyun.com/repository/jcenter'
        }
        maven(){
            url 'https://maven.aliyun.com/repository/google'
        }
        maven {
            url 'https://maven.aliyun.com/repository/public'
        }
        maven {
            url 'https://maven.aliyun.com/repository/mapr-public'
        }

如图:

uni-app开发应用,Android Studio 本地打包发布

6、打开云证书并下载证书

uni-app开发应用,Android Studio 本地打包发布

7、设置 build.gradle 证书信息配置节点 signingConfigs

例如下面

    signingConfigs {
        config {
            keyAlias '__UNI__159FB9C'
            keyPassword 'T1IsdfLh'
            storeFile file('D:\\01-MyWoekFile\\03-HBuilderX\\01-build\\Android-SDK@3.6.4.81503_20220926\\HBuilder-Integrate-AS\\simpleDemo\\3051be6ebb0c37e9dbf61cf76feb758f.keystore')
            storePassword 'T1IsdfLh'
            v1SigningEnabled true
            v2SigningEnabled true
        }
    }

如图

uni-app开发应用,Android Studio 本地打包发布

8、设置 build.gradle 文件 android 的节点

uni-app开发应用,Android Studio 本地打包发布

接着设置Gradle 和环境依赖版本

uni-app开发应用,Android Studio 本地打包发布

uni-app开发应用,Android Studio 本地打包发布

8、build.gradle 打包 低版本文件例子

apply plugin: 'com.android.application'
android {
    compileSdkVersion 29
    buildToolsVersion '29'
    defaultConfig {
        applicationId "uni.UNI__B98FD4F"
        minSdkVersion 19
        targetSdkVersion 19
        versionCode 100
        versionName "1.0.0"
        multiDexEnabled true
        ndk {
            abiFilters 'x86', 'armeabi-v7a', 'arm64-v8a'
        }
        manifestPlaceholders = [
                "apk.applicationId"     : "com.android.HelloH5",
                "GETUI_APPID"           : "unipush的appid",
                "plus.unipush.appid"    : "unipush的appid",
                "plus.unipush.appkey"   : "unipuish的appkey",
                "plus.unipush.appsecret": "unipush的secrety"
        ]
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_8
            targetCompatibility JavaVersion.VERSION_1_8
        }
    }
    signingConfigs {
        config {
            keyAlias '__UNI__B98FD4F'
            keyPassword '你的实际密码'
            storeFile file('C:\\Users\\gxsyh\\Downloads\\c38d5128bb2728d20c3cfebfdcd578eb.keystore')
            storePassword '你的实际密码'
            v1SigningEnabled true
            v2SigningEnabled true
        }
    }
    buildTypes {
        debug {
            signingConfig signingConfigs.config
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        release {
            signingConfig signingConfigs.config
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    lintOptions {
        checkReleaseBuilds false
        abortOnError false
    }
    //使用uniapp时,需复制下面代码
    /*代码开始*/
    aaptOptions {
        additionalParameters '--auto-add-overlay'
        //noCompress 'foo', 'bar'
        ignoreAssetsPattern "!.svn:!.git:.*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~"
    }
    /*代码结束*/
}
repositories {
    flatDir {
        dirs 'libs'
    }
}
dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation fileTree(include: ['*.aar'], dir: 'libs')
    implementation 'androidx.appcompat:appcompat:1.0.0'
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    /*uniapp所需库-----------------------开始*/
    implementation 'androidx.recyclerview:recyclerview:1.0.0'
    implementation 'com.facebook.fresco:fresco:2.5.0'
    implementation "com.facebook.fresco:animated-gif:2.5.0"
    /*uniapp所需库-----------------------结束*/
    // 基座需要,必须添加
    implementation 'com.github.bumptech.glide:glide:4.9.0'
    implementation 'com.alibaba:fastjson:1.1.46.android'
}

五、开始打包app

1、先编译,没有错误才能打包

uni-app开发应用,Android Studio 本地打包发布

2、编译通过,开始打包

uni-app开发应用,Android Studio 本地打包发布

uni-app开发应用,Android Studio 本地打包发布

uni-app开发应用,Android Studio 本地打包发布

uni-app开发应用,Android Studio 本地打包发布

3、打包成功

路径:D:\01-MyWoekFile\03-HBuilderX\01-build\Android-SDK@3.6.4.81503_20220926\HBuilder-HelloUniApp\app\debug

uni-app开发应用,Android Studio 本地打包发布

4、打包兼容安卓4.4操作系统设置【就是最低版本兼容19】

uni-app开发应用,Android Studio 本地打包发布

uni-app开发应用,Android Studio 本地打包发布

uni-app开发应用,Android Studio 本地打包发布

六、打包常见错误处理

1、设置最小兼容版本是19,打包却提示是21

解决办法:直接点击提示文件,打开后修改最低版本号为19,如下图

C:\Users\gxsyh.gradle\caches\transforms-3\2f4e82feceb3692362bfb1e4a7791b5d\transformed\jetified-oaid_sdk_1.0.25

uni-app开发应用,Android Studio 本地打包发布

2、打包在安卓4.4项目上面跑的话,必须要选择.apk打包

uni-app开发应用,Android Studio 本地打包发布

3、打包后安装,运行提示编译版本不一致

uni-app开发应用,Android Studio 本地打包发布

解决办法,打开源码,新增以下代码

		"compatible": {
			"ignoreVersion": true //true表示忽略版本检查提示框,HBuilderX1.9.0及以上版本支持  
		},

如图

uni-app开发应用,Android Studio 本地打包发布

七、AndroidManifest.xml配置文件例子


    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
        
            
                
                
            
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
            
                
                
                
                
            
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
            
                
                
                
            
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
            
                
                
                
                
            
        
        
    

需要注意

uni-app开发应用,Android Studio 本地打包发布

uni-app开发应用,Android Studio 本地打包发布

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]