美文网首页
【uni-app】使用5+SDK创建最简Android原生工程(

【uni-app】使用5+SDK创建最简Android原生工程(

作者: 今夜相思又几许 | 来源:发表于2020-03-27 13:09 被阅读0次

1、使用Hbuilder X创建一个最简单的uni-app应用

  • 创建uni-app简单工程


    image.png
  • 设置appid


    image.png
  • 生成本地打包


    image.png
  • 打包生成的资源如下


    image.png

2、下载5+SDK

下载地址:https://ask.dcloud.net.cn/docs/#//ask.dcloud.net.cn/article/103

本项目中使用的5+sdk版本为:2020年03月19日发布

3、android studio新建工程

  • 删除不必要的文件


    image.png
  • 添加图标、启动图等资源


    image.png
  • 新建assets目录,添加data文件


    image.png
  • 修改assets/data/dcloud_control.xml文件


    image.png
  • 在assets目录下新建apps目录,复制HBuilder X生成的源码到该目录下


    复制此文件夹
    复制到apps目录下
  • 添加如下图几个aar到libs目录下(aar文件在5+sdk目录/SDK/libs下可找到)


    image.png
  • 修改gradle如下

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    buildToolsVersion "29.0.2"
    defaultConfig {
        applicationId "com.uniapp.sample"
        minSdkVersion 19
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

    lintOptions {
        checkReleaseBuilds false
        abortOnError false
    }
    /*代码开始*/
    aaptOptions {
        additionalParameters '--auto-add-overlay'
        //noCompress 'foo', 'bar'
        ignoreAssetsPattern "!.svn:!.git:.*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~"
    }
    /*代码结束*/
}

repositories {
    flatDir {
        dirs 'libs'
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation fileTree(include: ['*.aar'], dir: 'libs')
    implementation 'com.android.support:appcompat-v7:28.0.0'
    /*uniapp所需库-----------------------开始*/
    implementation 'com.android.support:recyclerview-v7:28.0.0'
    implementation 'com.facebook.fresco:fresco:1.13.0'
    implementation "com.facebook.fresco:animated-gif:1.13.0"
    /*uniapp所需库-----------------------结束*/
    // 基座需要,必须添加
    implementation 'com.github.bumptech.glide:glide:4.9.0'
    implementation 'com.alibaba:fastjson:1.1.46.android'
}

  • 修改AndroidManifest.xml文件如下
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.uniapp.sample">

    <!-- 基座删除的部分权限 -->
    <uses-permission android:name="android.permission.GET_TASKS" />
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

    <uses-feature android:name="android.hardware.camera.autofocus" />

    <uses-permission android:name="android.permission.WRITE_CONTACTS" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.SEND_SMS" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.FLASHLIGHT" />

    <uses-feature android:name="android.hardware.camera" />

    <uses-permission android:name="android.permission.WRITE_SMS" />
    <uses-permission android:name="android.permission.READ_SMS" />

    <application
        android:name="io.dcloud.application.DCloudApplication"
        android:allowClearUserData="true"
        android:debuggable="true"
        android:icon="@drawable/icon"
        android:label="@string/app_name"
        android:largeHeap="true">

        <activity
            android:name="io.dcloud.PandoraEntry"
            android:configChanges="orientation|keyboardHidden|keyboard|navigation"
            android:hardwareAccelerated="true"
            android:label="@string/app_name"
            android:launchMode="singleTask"
            android:screenOrientation="user"
            android:theme="@style/TranslucentTheme"
            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|mcc|mnc|fontScale|keyboard"
            android:hardwareAccelerated="true"
            android:launchMode="singleTask"
            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>

    </application>
</manifest>

  • 运行app


    image.png
  • app运行成功


    image.png

4、源码下载

android studio源码:https://github.com/HyFun/UniApp-Android-Sample

相关文章

网友评论

      本文标题:【uni-app】使用5+SDK创建最简Android原生工程(

      本文链接:https://www.haomeiwen.com/subject/sqxluhtx.html