1. 程式人生 > 其它 >Android Studio執行、離線打包uni-app專案

Android Studio執行、離線打包uni-app專案

首先需要下載Android Studio
下載HBuilderX
下載Android離線打包SDK(https://nativesupport.dcloud.net.cn/AppDocs/download/android)
  1.  建立android專案

    

              

                 

  2.  配置專案

            將Android離線打包SDK中的lib.5plus.base-release.aar、android-gif-drawable-release@[x.y.z].arr、uniapp-v8-release.aar、oaid_sdk_[x.y.z].aar拷貝到android專案的app的libs中([x.y.z]為你下載的最新的版本號)                           

 

            

 

 

           開啟app -> build.gradle
           在android下面新增

           

aaptOptions {       
    additionalParameters '--auto-add-overlay'       
    ignoreAssetsPattern "!.svn:!.git:.*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~"
}

  在dependencies下面新增

        

implementation fileTree(dir: '
libs', include: ['*.aar', '*.jar'], exclude: []) implementation 'com.github.bumptech.glide:glide:4.11.0' implementation 'com.alibaba:fastjson:1.1.46.android' implementation 'com.google.code.gson:gson:2.8.6' implementation 'com.facebook.fresco:fresco:1.13.0' implementation "com.facebook.fresco:animated-gif:1.13.0
" implementation 'androidx.recyclerview:recyclerview:1.1.0'

       開啟app -> src -> main -> AndroidManifest.xml將預設生成在application標籤內的全部註釋

       

 

       在application內新增

<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:launchMode="singleTask"           android:configChanges="orientation|keyboardHidden|screenSize|mcc|mnc|fontScale|keyboard"    
    android:hardwareAccelerated="true"   
    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>
<!--provider節點必須新增--> 
<provider
    android:name="io.dcloud.common.util.DCloud_FileProvider"
    android:authorities="${apk.applicationId}.dc.fileprovider"
    android:exported="false"
    android:grantUriPermissions="true"> 
        <meta-data
            android:name="android.support.FILE_PROVIDER_PATHS"
            android:resource="@xml/dcloud_file_provider"/>
</provider>

 

   注意:要將provider中的${apk.applicationId}修改為你的應用包名。可以在AndroidManifest.xml的跟標籤下檢視   

   

 

   建立asstes資料夾

   

 

   

   

 

 

    

   將Android離線打包SDK中assets下的data拷貝到專案中新建好的assets下
   HBuilderX匯出專案

   

    

    

    將匯出的__UNI__E085701資料夾拷貝到專案中assets資料夾下(這個資料夾名是uni-app的appId,不是固定的! 不是固定的! 不是固定的!)

    開啟專案app -> src -> main -> assets -> data -> dcloud_control.xml將appid改為自己匯出的appid。

    

 

    3. 執行

     

 

     4. 遇到問題

       1)  Android Studio編譯報錯:Error: Invoke-customs are only supported starting with Android O (--min-api 26)

       build.gradle檔案中android節點下增加:

        

 

     2)  Android Studio編譯出現Installed Build Tools revision 31.0.0 is corrupted解決方法 

         設定步驟:

  1. 頂部欄選Tools
  2. SDK Manager
  3. 去除Android API 31的勾選並apply
  4. 按需勾選SDK Platforms,如Android 11.0®,並apply

          

      設定build.gradle檔案

         

         

 

      3)  Compatible side by side NDK version was not found.

       File->Settings->Appearance...->Android SDK->SDK Tools->NDK(Side by side)->Apply

       

   5.  打包

       

       

  點選開啟打包之後apk存放的資料夾。目錄為app -> build -> outputs -> apk -> debug