android - 如何使用 Android Studio 制作 Android 扩展文件?

标签 android gradle android-studio apk-expansion-files

我需要上传一个 .apk,但它超过了 50 MB 的限制。

我在文档和一些问题上读到了这一点,但我很难做到这一点。

有没有人有一些教程来解释如何做到这一点(使用 Android Studio)以及是否有某种方法可以使用 Gradle 来做到这一点?

最佳答案

我已经在几个项目中这样做过,但我从来没有想出一个简单的方法。说明在

http://developer.android.com/google/play/expansion-files.html

帮助我了解了基础知识,但我发现流程的某些部分(例如“android 更新项目”)无法与 Gradle 一起正常工作。

以下说明将帮助您使用所需的库设置项目。之后,您可以返回官方文档并找出如何处理您刚刚包含的所有内容。

将这些权限添加到 AndroidManifest.xml

<uses-permission android:name="com.android.vending.CHECK_LICENSE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>

将 Play 服务依赖添加到 build.gradle

dependencies {

    compile 'com.google.android.gms:play-services:4.0.30'
}

打开 SDK Manager 并安装 Google Play APK Expansion LibraryGoogle Play Licensing Library

将这些文件夹中的 java 源文件复制到项目的 source/main/java 文件夹中:

YOUR-ANDROID-SDK-FOLDER\extras\google\play_apk_expansion\zip_file\src

YOUR-ANDROID-SDK-FOLDER\extras\google\play_apk_expansion\downloader_library\src

YOUR-ANDROID-SDK-FOLDER\extras\google\play_licensing\library\src

打开

YOUR-ANDROID-SDK-FOLDER\extras\google\play_apk_expansion\downloader_library\res

drawable-hdpidrawable-mdpilayout 复制到项目的 source/main/res 文件夹中.

对于 values 文件夹中的所有文件,将文件中的内容合并到项目中的匹配文件中。

创建一个扩展android.content.BroadcastReceiver的类

将类似这样的内容添加到您的 list 中:

<receiver android:name="mypackage.MyReceiver"/>

创建一个扩展 com.google.android.vending.expansion.downloader.impl.DownloaderService 的类

将类似这样的内容添加到您的 list 中:

<service android:name="mypackage.MyDownloaderService"/>

编译项目并查找与

相关的错误
import com.android.vending.expansion.downloader.R;

改为在此处导入您自己的项目资源。

关于android - 如何使用 Android Studio 制作 Android 扩展文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22368251/

相关文章:

eclipse - 在Eclipse中创建Gradle项目时,示例项目类型代表什么?

android espresso 测试 : empty test suite. 未找到测试

android - FragmentStatePagerAdapter中间如何添加Fragment

java - 将 Android 项目导入 Eclipse 报错

Android Jetpack 组合。使用堆栈布局

gradle - 无法获得任务的未知属性 'runTasks'

java - Android 版 ExoPlayer 是否有附加按钮?

android - 检测App android是否处于Debug或Release状态

google-app-engine - Google App Engine:如何为iOS生成发现文档(渐进式构建)?

android - 如何创建全局警报对话框