uniapp离线打包,记录下爬坑
官方网址:https://nativesupport.dcloud.net.cn/AppDocs/usesdk/android
1,首先从官网下载离线sdk
准备工程有2种方式,一种新建空白项目,另一种引入工程,建议新手第二种方便一些
2,将离线sdk包中的lib.5plus.base-release.aar、android-gif-drawable-release@1.2.23.aar、uniapp-v8-release.aar和oaid_sdk_1.0.25.aar拷贝到项目libs目录下
3,配置Androidmanifest.xml文件,代码如下:
红色背景色为要修改的内容
1 <?xml version="1.0" encoding="utf-8"?> 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 3 package="hz.lin.jinyun"> 4 5 <application 6 android:allowBackup="true" 7 android:allowClearUserData="true" 8 android:icon="@drawable/icon" 9 android:label="@string/app_name" 10 android:largeHeap="true" 11 android:supportsRtl="true"> 12 <activity 13 android:name="io.dcloud.PandoraEntry" 14 android:configChanges="orientation|keyboardHidden|keyboard|navigation" 15 android:label="@string/app_name" 16 android:launchMode="singleTask" 17 android:hardwareAccelerated="true" 18 android:theme="@style/TranslucentTheme" 19 android:screenOrientation="user" 20 android:windowSoftInputMode="adjustResize" > 21 <intent-filter> 22 <action android:name="android.intent.action.MAIN" /> 23 <category android:name="android.intent.category.LAUNCHER" /> 24 </intent-filter> 25 </activity> 26 <activity 27 android:name="io.dcloud.PandoraEntryActivity" 28 android:launchMode="singleTask" 29 android:configChanges="orientation|keyboardHidden|screenSize|mcc|mnc|fontScale|keyboard|smallestScreenSize|screenLayout|screenSize" 30 android:hardwareAccelerated="true" 31 android:permission="com.miui.securitycenter.permission.AppPermissionsEditor" 32 android:screenOrientation="user" 33 android:theme="@style/DCloudTheme" 34 android:windowSoftInputMode="adjustResize"> 35 <intent-filter> 36 <category android:name="android.intent.category.DEFAULT" /> 37 <category android:name="android.intent.category.BROWSABLE" /> 38 <action android:name="android.intent.action.VIEW" /> 39 <data android:scheme="h56131bcf" /> 40 </intent-filter> 41 </activity> 42 <meta-data 43 android:name="dcloud_appkey" 44 android:value="165a366b4082ac1620460d8660c73bb1" /> 45 <provider 46 android:name="io.dcloud.common.util.DCloud_FileProvider" 47 android:authorities="hz.lin.jinyun.dc.fileprovider" 48 android:exported="false" 49 android:grantUriPermissions="true"> 50 <meta-data 51 android:name="android.support.FILE_PROVIDER_PATHS" 52 android:resource="@xml/dcloud_file_provider" /> 53 </provider> 54 </application> 55 56 </manifest>
4,配置build.gradle
1 apply plugin: 'com.android.application' 2 3 android { 4 compileSdkVersion 29 5 defaultConfig { 6 applicationId "hz.lin.jinyun" 7 minSdkVersion 21 8 targetSdkVersion 28 9 versionCode 14 10 versionName "1.0.14" 11 multiDexEnabled true 12 ndk { 13 abiFilters 'x86', 'armeabi-v7a', 'arm64-v8a' 14 } 15 } 16 compileOptions { 17 sourceCompatibility JavaVersion.VERSION_1_8 18 targetCompatibility JavaVersion.VERSION_1_8 19 } 20 signingConfigs { 21 config { 22 keyAlias 'testalias888' 23 keyPassword '888888' 24 storeFile file('test888.keystore') 25 storePassword '888888' 26 v1SigningEnabled true 27 v2SigningEnabled true 28 } 29 } 30 31 buildTypes { 32 debug { 33 signingConfig signingConfigs.config 34 minifyEnabled false 35 proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 36 } 37 release { 38 signingConfig signingConfigs.config 39 minifyEnabled false 40 proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 41 } 42 } 43 androidResources { 44 ignoreAssetsPattern '!.svn:!.git:.*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~' 45 additionalParameters '--auto-add-overlay' 46 } 47 lint { 48 baseline = file("lint-baseline.xml") 49 } 50 } 51 52 dependencies { 53 implementation fileTree(dir: 'libs', include: ['*.aar', '*.jar'], exclude: []) 54 implementation 'androidx.appcompat:appcompat:1.0.0' 55 implementation 'androidx.legacy:legacy-support-v4:1.0.0' 56 implementation 'androidx.recyclerview:recyclerview:1.0.0' 57 implementation 'com.facebook.fresco:fresco:2.5.0' 58 implementation "com.facebook.fresco:animated-gif:2.5.0" 59 implementation 'com.github.bumptech.glide:glide:4.9.0' 60 implementation 'com.alibaba:fastjson:1.1.46.android' 61 }
5,配置strings.xml
1 <resources> 2 <string name="app_name">测试app</string> 3 </resources>
6,uniapp生成本地资源
7,复制uniapp生成的本地资源到\simpleDemo\src\main\assets\apps\目录
8,复制test888.keystore到项目的根目录(test888.keystore生成参见https://ask.dcloud.net.cn/article/35777)
3.1.10版本起需要申请Appkey,具体请点击链接
9,生成app