需要的环境 jdk8+,android SDK,gradle(具体见cordova官网)
1.首先安装android SDK
直接访问:https://www.androiddevtools.cn/
找到下载SDK TOOLS,我下载的zip压缩包,解压后目录为
上图一些文件夹可能再解压后没有是因为需要点击SDK Manager.exe来安装插件
其余默认就行,如后续打包报错,缺什么下什么
2.当SDK配置完毕后,需要配置环境变量
变量名:ANDROID_HOME
值:D:\android(或你的SDK路径)
PATH:D:\android\tools,D:\android\platform-tools
配置后可使用android -h以及 adb 查看是否配置成功
4.配置后参照cordova的打包流程,进行打包
再打包过程种会出现下载gradle慢,卡住的问题。
可以直接在
C:\Users\30811\.gradle\wrapper\dists\gradle-4.10.3-all\81msde2dx9p4vji0mjgtvxkcb
目录下将gradle下载的压缩包放入后再次执行打包命令,就ok了
哦对了,打包之后,如果有ajax请求,需要改两个xml文件
在D:\helloA\platforms\android\app\src\main 目录下 AndroidManifest.xml文件 修改
代码如下
<?xml version='1.0' encoding='utf-8'?>
<manifest android:hardwareAccelerated="true" android:versionCode="10000" android:versionName="1.0.0" package="com.example.helloA" xmlns:android="http://schemas.android.com/apk/res/android">
<supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
<uses-permission android:name="android.permission.INTERNET" />
<application android:hardwareAccelerated="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:networkSecurityConfig="@xml/network_security_config" android:supportsRtl="true">
<activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|smallestScreenSize|screenLayout|uiMode" android:label="@string/activity_name" android:launchMode="singleTop" android:name="MainActivity" android:theme="@android:style/Theme.DeviceDefault.NoActionBar" android:windowSoftInputMode="adjustResize">
<intent-filter android:label="@string/launcher_name">
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
</manifest>
并且在D:\helloA\platforms\android\app\src\main\res\xml 目录下
新建xml : network_security_config.xml
内容如下:
<?xml version="1.0" encoding="utf-8"?> <network-security-config> <base-config cleartextTrafficPermitted="true" /> </network-security-config>