فهرست منبع

Merge pull request #2447 from Xwite/master

exoplayer混淆CacheDataSource
Xwite 4 سال پیش
والد
کامیت
6834a230ab
3فایلهای تغییر یافته به همراه6 افزوده شده و 4 حذف شده
  1. 2 2
      app/build.gradle
  2. 1 2
      app/proguard-rules.pro
  3. 3 0
      app/src/main/java/io/legado/app/help/book/BookExtensions.kt

+ 2 - 2
app/build.gradle

@@ -71,8 +71,8 @@ android {
             applicationIdSuffix '.release'
 
             //混淆还是有点问题, exoplayer的库出问题了
-            minifyEnabled false
-            //shrinkResources true
+            minifyEnabled true
+            shrinkResources true
             proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
         }
         debug {

+ 1 - 2
app/proguard-rules.pro

@@ -234,8 +234,7 @@
 
 ## 保证该私有变量不被混淆
 -keepclassmembers class com.google.android.exoplayer2.upstream.cache.CacheDataSource$Factory {
-    #noinspection ShrinkerUnresolvedReference
-    private DataSource.Factory upstreamDataSourceFactory;
+    *** upstreamDataSourceFactory;
 }
 
 ## 对外提供api

+ 3 - 0
app/src/main/java/io/legado/app/help/book/BookExtensions.kt

@@ -93,6 +93,9 @@ fun Book.getLocalUri(): Uri {
         val fileDoc = treeFileDoc.find(originName, 3)
         if (fileDoc != null) {
             localUriCache[bookUrl] = fileDoc.uri
+            //更新bookUrl 重启不用再找一遍
+            bookUrl = fileDoc.toString()
+            save()
             return fileDoc.uri
         }
         localUriCache[bookUrl] = uri