首先需要下载Android Studio
下载HBuilderX
下载Android离线打包SDK(https://nativesupport.dcloud.net.cn/AppDocs/download/android)
一、创建android项目
二、配置项目
将Android离线打包SDK中的lib.5plus.base-release.aar、android-gif-drawable-release@[x.y.z].arr、uniapp-v8-release.aar、oaid_sdk_[x.y.z].aar拷贝到android项目的app的libs中([x.y.z]为你下载的最新的版本号)
打开app -> build.gradle
在android下面添加
aaptOptions {
additionalParameters '--auto-add-overlay'
ignoreAssetsPattern "!.svn:!.git:.*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~"
}
在dependencies下面添加
implementation fileTree(dir: 'libs', include: ['*.aar', '*.jar'], exclude: [])
implementation 'com.github.bumptech.glide:glide:4.11.0'
implementation 'com.alibaba:fastjson:1.1.46.android'
implementation 'com.google.code.gson:gson:2.8.6'
implementation 'com.facebook.fresco:fresco:1.13.0'
implementation "com.facebook.fresco:animated-gif:1.13.0"
implementation 'androidx.recyclerview:recyclerview:1.1.0'
打开app -> src -> main -> AndroidManifest.xml将默认生成在application标签内的全部注释
在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>
<!--provider节点必须添加-->
<provider
android:name="io.dcloud.common.util.DCloud_FileProvider"
android:authorities="${apk.applicationId}.dc.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/dcloud_file_provider"/>
</provider>
注意:要将provider中的${apk.applicationId}修改为你的应用包名。可以在AndroidManifest.xml的跟标签下查看
创建asstes文件夹
将Android离线打包SDK中assets下的data拷贝到项目中新建好的assets下
HBuilderX导出项目
将导出的__UNI__E085701文件夹拷贝到项目中assets文件夹下(这个文件夹名是uni-app的appId,不是固定的! 不是固定的! 不是固定的!)
打开项目app -> src -> main -> assets -> data -> dcloud_control.xml将appid改为自己导出的appid
三、运行
点击运行会产生这个错误
libs中的aar中用的Android SDK版本为19,但是我们创建的项目最小可以在Android SDK 16上运行所有报错。将app下的build.gradle中android中minSdkVersion改为19,等待Sync Now之后重新运行
又会产生这个错误.意思和上面一样修改之后继续运行
成功运行
四、打包
打包成功点击打开打包之后apk存放的文件夹。目录为app -> build -> outputs -> apk -> debug
网友评论