最近公司项目需要集成扫码枪的功能,所以只能采用插件开发,插件开发,那么就要用到离线打包了,特此记下遇到的问题
首先下载官方给的Android SDK, 然后按照步骤导入,导入项目结构如下
主体:
libs:
AndroidManifest;
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:resizeable="true"
android:smallScreens="true"
/>
<uses-sdk android:maxSdkVersion="8"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.GET_TASKS"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<application
android:icon="@drawable/icon"
android:label="@string/app_name"
android:largeHeap="true"
android:name="io.dcloud.application.DCloudApplication"
android:allowClearUserData="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 android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="io.dcloud.PandoraEntryActivity"
android:configChanges="orientation|keyboardHidden|screenSize|keyboard|navigation|mcc|mnc|fontScale"
android:hardwareAccelerated="true"
android:label="5+Debug"
android:launchMode="singleTask"
android:screenOrientation="user"
android:theme="@style/DCloudTheme"
android:windowSoftInputMode="adjustResize" >
</activity>
<service
android:name="io.dcloud.common.adapter.io.MiniServerService"
android:exported="true" />
</application>
完成配置运行成功~~~~
重要点:
1.assets 文件夹下的 apps 和 www 为固定文件夹名称
2.java 中 io.dcloud该包名也是固定的,记住千万别写错地方了 本人一开始就是写错地方了,一直找不到StreamAppMainActivity,郁闷死,头大
- android 项目自己的清单文件中 要额外加上
复制代码
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
不然会报错找不到RInformation ,
4.web项目:manifest 中的的id标识改为和name 一样,不要用他自己默认生成的id,不然已开始运行会是空白页,因为不是在线打包~,这里在data 文件夹下的 dcloud_control 文件中会用到 - dcloud_control 中的 appid 和 appver分贝对应web 项目manifest中 id和version节点下的name