最近在處理關於Arcgis和高德以及百度地圖在Android Studio上的代碼混淆問題,這里說下問什么要做混淆,原因就是app在低版本手機上(4.X)安裝啟動之后手機一直黑屏。
在開始解決上述應用啟動一直黑屏問題之前,這里說下Android Studio上的分包。
通過Gradle配置您的應用進行分包>>>>>
Android SDK Build Tools 21.1 及更高版本中提供的 Android Plugin for Gradle 支持以 Dalvik 可執行文件分包作為構建配置的一部分。請您務必使用 SDK 管理器將 Android SDK Build Tools 工具和 Android 支持存儲區更新至最新版本,然后再嘗試配置您的應用進行 Dalvik 可執行文件分包。
將您的應用開發項目設置為使用 Dalvik 可執行文件分包配置需要對您的應用開發項目做幾項修改。具體地講,您需要執行以下步驟:
- 將您的 Gradle 構建配置更改為啟用 Dalvik 可執行文件分包
- 修改您的清單以引用
MultiDexApplication
類
修改模塊級 build.gradle
文件配置以加入支持庫和啟用 Dalvik 可執行文件分包輸出,如下面這段代碼中所示:
android { compileSdkVersion 21 buildToolsVersion "21.1.0" defaultConfig { ... minSdkVersion 14 targetSdkVersion 21 ... // Enabling multidex support. multiDexEnabled true } ... } dependencies { compile 'com.android.support:multidex:1.0.0' }
在您的清單中,將 Dalvik 可執行文件分包支持庫中的 MultiDexApplication
類添加到 application 元素中。
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.android.multidex.myapplication"> <application ... android:name="android.support.multidex.MultiDexApplication"> ... </application> </manifest>
將這些配置設置添加到應用后,Android 構建工具會根據需要構建主 dex (classes.dex) 和輔助 dex(classes2.dex、classes3.dex)。隨后構建系統會將它們打包成一個 APK 文件進行分發。
注:如果您的應用用途會擴展 Application
類,您可以替換 attachBaseContext() 方法並調用 MultiDex.install(this) 來啟用 Dalvik 可執行文件分包。如需了解詳細信息,請參閱 MultiDexApplication
的參考文檔。
以上是Android Studio上的分包方式。
那么之前說道APP一直黑屏的原因,其實也很簡單,這里如果在Gradle中配置的啟動分包(multiDexEnabled true),並且也配置了依賴jar(compile 'com.android.support:multidex:1.0.0'),切記最后一步,要么讓你的應用的Application繼承MultiDexApplication,要么在 attachBaseContext() 這個方法並且調用MultiDex.install(this),否則就會出現應用啟動一直黑屏的問題。
----------------------------小心無大錯---------------------
https://developer.android.com/studio/build/multidex.html#mdex-gradle