uni app系列002:離線打包apk(2)

一、用AS新建空項目

新建項目後刪除如圖說明的文件

uni app系列002:離線打包apk(2)

二、AndroidManifest.xml 替換如下的application內容

<application> android:name="io.dcloud.application.DCloudApplication"
android:allowClearUserData="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:largeHeap="true"
android:debuggable="true">
<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>
<category>
/<intent-filter>
/<activity>
/<application>

三、導入uni app本地資源文件

assets, apps需要自己創建目錄

uni app系列002:離線打包apk(2)

uni app系列002:離線打包apk(2)

四、下載最新SDK

在 Dcloud裡下載最新的SDK

下載解壓後目錄如下

uni app系列002:離線打包apk(2)

HBuilder-Hello:是HelloH5打包App的示例,可以用AS打包成APK
HBuilder-Integrate-AS:是HBuilder 5+ SDK 集成AS的示例
SDK:是HBuilder SDK庫文件
UniPlugin-Hello-AS:是開發插件並集成到Vue的示例

五、複製HBuilder-Hello項目的data到自己項目對應目錄中

uni app系列002:離線打包apk(2)

uni app系列002:離線打包apk(2)

六、複製HBuilder-Hello項目的libs下的三個文件到自己項目對應目錄中

uni app系列002:離線打包apk(2)

六、修改配置文件

1)dcloud_control.xml

uni app系列002:離線打包apk(2)

七、開始打包

1)錯誤1

AndroidManifest.xml:13:9-26:20: AAPT: error: resource style/TranslucentTheme (aka com.ntc.test.uniapp:style/TranslucentTheme) not found.

這個錯誤,需要在build.gradle(Moudle app)中增加implementation fileTree(include: ['*.aar'], dir: 'libs'),以便在打包時將libs目錄下的aar文件打包入apk

uni app系列002:離線打包apk(2)

2)錯誤2

Manifest merger failed : uses-sdk:minSdkVersion 15 cannot be smaller than version 17 declared in library [[email protected]] C:\\Users\\Administrator\\.gradle\\caches\\transforms-2\\files-2.1\\092de47bbd5688ebca77a3b9b43742bb\\[email protected]\\AndroidManifest.xml as the library might be using APIs not available in 15

Suggestion: use a compatible library with a minSdk of at most 15,

or increase this project's minSdk version to at least 17,

or use tools:overrideLibrary="pl.droidsonroids.gif" to force usage (may lead to runtime failures)

這個錯誤,需要在build.gradle(Moudle app)中minSdkVersion改為 19

3)白屏

需要將build.gradle(Moudle app)中dependencies 換為如下

dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation fileTree(include: ['*.aar'], dir: 'libs')
/*uniapp所需庫-----------------------開始*/
implementation 'com.android.support:recyclerview-v7:26.1.0'
implementation 'com.alibaba.android:bindingx-core:1.0.3'
implementation 'com.alibaba.android:bindingx_weex_plugin:1.0.3'
implementation 'com.squareup.okhttp:okhttp:2.3.0'
implementation 'com.squareup.okhttp:okhttp-ws:2.3.0'
implementation 'com.alibaba:fastjson:1.1.46.android'
implementation 'com.facebook.fresco:fresco:1.13.0'
implementation "com.facebook.fresco:animated-gif:1.13.0"
/*uniapp所需庫-----------------------結束*/
}

4)打出的包有20多M

需要在build.gradle(Moudle app)中defaultConfig下增加

ndk {
abiFilters 'x86','armeabi-v7a'

}
uni app系列002:離線打包apk(2)

增加後打出的包有16多M

八、完整的build.gradle(Moudle app)

apply plugin: 'com.android.application'
android {
compileSdkVersion 29
defaultConfig {
applicationId "com.ntc.test.myapplication"
minSdkVersion 19
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

ndk {
abiFilters 'x86','armeabi-v7a'
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation fileTree(include: ['*.aar'], dir: 'libs')
/*uniapp所需庫-----------------------開始*/
implementation 'com.android.support:recyclerview-v7:26.1.0'
implementation 'com.alibaba.android:bindingx-core:1.0.3'
implementation 'com.alibaba.android:bindingx_weex_plugin:1.0.3'
implementation 'com.squareup.okhttp:okhttp:2.3.0'
implementation 'com.squareup.okhttp:okhttp-ws:2.3.0'
implementation 'com.alibaba:fastjson:1.1.46.android'
implementation 'com.facebook.fresco:fresco:1.13.0'
implementation "com.facebook.fresco:animated-gif:1.13.0"
/*uniapp所需庫-----------------------結束*/
}


分享到:


相關文章: