1.weex打包apk
1.1 安装weexpack
npm install -g weexpack
1.2 添加Android平台
weexpack platform add android
1.3 构建Android项目
weexpack build android
1.4 编译Android项目
cd platforms/android
./gradlew assembleRelease
这时候正常来说项目目录下的 release 文件夹中就有apk了
5.问题汇总
#删除 Android 平台 + 项目(有的时候因为报错需要重新构建项目)
#删完记得镜像以及gradle都需要重新配置
weexpack platform remove android
#清理编译的项目(更改了配置文件,需要重新编译的时候用)
./gradlew clean
5.1 镜像问题
默认镜像在国外,有可能会下不下来
FAILURE: Build failed with an exception. * What went wrong: A problem occurred configuring project ':app'. > Could not resolve all dependencies for configuration ':app:_debugApkCopy'. > Could not resolve com.android.support:support-v4:26.1.0. Required by: android:app:unspecified > Could not resolve com.android.support:support-v4:26.1.0. > Could not get resource 'https://maven.google.com/com/android/support/support-v4/26.1.0/support-v4-26.1.0.pom'. > Could not GET 'https://maven.google.com/com/android/support/support-v4/26.1.0/support-v4-26.1.0.pom'. > Connect to maven.google.com:443 [maven.google.com/142.251.43.14] failed: Connection timed out: connect > Could not resolve com.android.support:appcompat-v7:26.1.0. Required by: android:app:unspecified > Could not resolve com.android.support:appcompat-v7:26.1.0.
- 打开项目中的
build.gradle
文件,该文件通常位于Android项目的根目录下。 - 在
build.gradle
文件中找到repositories
部分,它通常位于文件的顶部。 - 在
repositories
部分中添加阿里云的 Maven 镜像地址。具体添加方式如下:
repositories {
maven {
url 'https://maven.aliyun.com/repository/google'
}
maven {
url 'https://maven.aliyun.com/repository/jcenter'
}
}
5.2 下载gradle报错
Exception in thread "main" java.io.FileNotFoundException: C:\Users\ASUS\.gradle\wrapper\dists\gradle-2.14.1-all\8bnwg5hd3w55iofp58khbp6yv\gradle-2.14.1.zip (ϵͳ�Ҳ���ָ�����ļ���) at java.base/java.io.FileInputStream.open0(Native Method) at java.base/java.io.FileInputStream.open(FileInputStream.java:216) at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157) at java.base/java.io.FileInputStream.<init>(FileInputStream.java:111) at java.base/sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:86) at java.base/sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:189) at org.gradle.wrapper.Download.downloadInternal(Download.java:56) at org.gradle.wrapper.Download.download(Download.java:42) at org.gradle.wrapper.Install$1.call(Install.java:57) at org.gradle.wrapper.Install$1.call(Install.java:44) at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:65) at org.gradle.wrapper.Install.createDist(Install.java:44) at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:126) at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:56)
直接访问他报错给的 gradle 下载地址,然后将他放到报错指定的文件夹
然后修改 gradle-wrapper.properties 配置(android/gradle/wrapper/gradle-wrapper.properties)
distributionUrl=file:///C:/Users/你的用户名/.gradle/wrapper/dists/gradle-2.14.1-all.zip
5.3 小米手机 - 解析软件包时出现问题
设置->更多设置->开发者选项->开发者选项页面最底部,关闭优化
5.4 应用未安装:软件包似乎无效
AndroidManifest.xml文件位于 app/src/main 目录下
修改其中的activity加一句
android:exported="true"
android里的gradle.properties加一句
android.injected.testOnly=false