2017-03-10 26 views
16

Khi chạy Proguard để xây dựng tập tin apk của tôi, tôi nhận được lỗi sau:Aapt_rules.txt không tìm thấy khi xây dựng apk trong studio android

Warning:Exception while processing task java.io.FileNotFoundException: C:\Users\Josh\Documents\AdscendUnityPlugin2.1.3\AdscendUnityPlugin2.1.3\HelloUnity\Export\HelloUnity\build\intermediates\proguard-rules\debug\aapt_rules.txt (The system cannot find the path specified) 

tập tin gradle của tôi:

// GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN 
buildscript { 
    repositories { 
     jcenter() 
    } 

    dependencies { 
     classpath 'com.android.tools.build:gradle:2.3.0' 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
     flatDir { 
     dirs 'libs' 
     } 
    } 
} 

apply plugin: 'com.android.application' 

repositories { 

    maven { url "https://bitbucket.org/adscend/androidsdk/raw/master/" } 
} 


dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.adscendmedia.sdk:adscendmedia:2.1.26' 
} 

android { 
    compileSdkVersion 25 
    buildToolsVersion '25.0.0' 

    defaultConfig { 
     targetSdkVersion 25 
    } 

    lintOptions { 
     abortOnError false 
    } 

    buildTypes { 
     debug { 
      jniDebuggable true 
      minifyEnabled true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-unity.txt' 
     } 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-unity.txt' 

     } 
    } 

} 

Tôi couldn' t dường như cũng tìm thấy thư mục 'proguard-rules', điều gì có thể gây ra lỗi này? Bất kỳ ý tưởng nào?

Tôi biết mình đang chạy chương trình bảo vệ trên bản dựng gỡ lỗi của mình, tôi chỉ đang cố gắng làm cho nó hoạt động vào thời điểm này.

Cảm ơn bạn

+4

Tôi cũng đang gặp phải vấn đề tương tự. Có thể là vấn đề này gây ra trong phiên bản mới nhất Gradle plugin. Lần đầu tiên tôi thấy loại vấn đề này. Tôi gặp phải vấn đề này khi tôi nâng cấp Android Studio với phiên bản plugin Gradle 2.3.0 –

+1

Tương tự ở đây, tôi chưa tìm được giải pháp thay thế. – vRallev

Trả lời

0

Tôi nghĩ proguard-pro.txt của bạn có thể để trống. Tôi đã có loại vấn đề này trước đó. Bu sau khi thêm mã dưới đây trong proguard-pro.txt nó làm việc cho tôi. Chỉ cần thử nó một lần, nó có thể làm việc cho bạn.

# Add project specific ProGuard rules here. 
# By default, the flags in this file are appended to flags specified 
# in D:\Android\adt-bundle-windows-x86-20140702\adt-bundle-windows-x86-20140702\sdk/tools/proguard/proguard-android.txt 
# You can edit the include path and order by changing the proguardFiles 
# directive in build.gradle. 
# 
# For more details, see 
# http://developer.android.com/guide/developing/tools/proguard.html 

# Add any project specific keep options here: 

# If your project uses WebView with JS, uncomment the following 
# and specify the fully qualified class name to the JavaScript interface 
# class: 
#-keepclassmembers class fqcn.of.javascript.interface.for.webview { 
# public *; 
#} 
# Required for GSON 
-keep class com.ptechsolutions.android.authenticrecipe.core.** { *; } 

-keepattributes *Annotation* 
-keepattributes Signature 
-keep class sun.misc.Unsafe { *; } 

-keep class * extends java.util.ListResourceBundle { 
    protected Object[][] getContents(); 
} 

-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable { 
    public static final *** NULL; 
} 

-keepnames @com.google.android.gms.common.annotation.KeepName class * 
-keepclassmembernames class * { 
    @com.google.android.gms.common.annotation.KeepName *; 
} 

-keepnames class * implements android.os.Parcelable { 
    public static final ** CREATOR; 
} 


-keep class butterknife.** { *; } 
-dontwarn butterknife.internal.** 
-keep class **$$ViewInjector { *; } 

-keepclasseswithmembernames class * { 
    @butterknife.* <fields>; 
} 

-keepclasseswithmembernames class * { 
    @butterknife.* <methods>; 
} 
-dontwarn org.apache.commons.** 
-dontwarn com.google.** 
-dontwarn com.j256.ormlite** 
-dontwarn org.apache.http** 

-keepattributes SourceFile,LineNumberTable 
-keep class com.j256.** 
-keepclassmembers class com.j256.** { *; } 
-keep enum com.j256.** 
-keepclassmembers enum com.j256.** { *; } 
-keep interface com.j256.** 
-keepclassmembers interface com.j256.** { *; } 

-keepattributes Signature 
# GSON Library 
# For using GSON @Expose annotation 
-keepattributes *Annotation* 

# Gson specific classes 
-keep class sun.misc.Unsafe { *; } 
#-keep class com.google.gson.stream.** { *; } 

# Application classes that will be serialized/deserialized over Gson 
-keep class com.google.gson.examples.android.model.** { *; } 

-keepattributes SourceFile, LineNumberTable 

# Google Map 
-keep class com.google.android.gms.maps.** { *; } 
-keep interface com.google.android.gms.maps.** { *; } 

-keep class org.apache.harmony.awt.** { *; } 
-dontwarn org.apache.harmony.awt.** 

-keep class com.github.siyamed.** { *; } 
-dontwarn com.github.siyamed.** 

-keep class com.squareup.picasso.** { *; } 
-dontwarn com.squareup.picasso.** 

-keep class com.squareup.okhttp.** { *; } 
-dontwarn com.squareup.okhttp.** 

-keep class com.sun.mail.** { *; } 
-dontwarn com.sun.mail.** 

-keep class org.codehaus.mojo.** { *; } 
-dontwarn org.codehaus.mojo.** 

-keep class java.awt.datatransfer.** { *; } 
-dontwarn java.awt.datatransfer.** 

-keep class java.nio.file.** { *; } 
-dontwarn java.nio.file.** 

-keep class javax.mail.** { *; } 
-dontwarn javax.mail.** 

-keep class com.theartofdev.edmodo.** { *; } 
-dontwarn com.theartofdev.edmodo.** 

-keep class javax.activation.** { *; } 
-dontwarn javax.activation.** 

-dontskipnonpubliclibraryclassmembers 
1

Trong trường hợp của tôi vấn đề là thế này:
Tôi có một dự án với một số module: một ứng dụng Android và một thư viện Android.

Khi tôi xây dựng assembleRelease trong Android Studio, tôi cũng phải chắc chắn rằng tất cả mọi thứ được xây dựng cho phát hành (không debug).

Trong Android Studio thiết lập Build Variant phát hành: enter image description here

Trong tập tin build.gradle của các module thư viện:

android { 
    defaultPublishConfig "release" 

also see:

27

Trong trường hợp của tôi, proguard.pro tùy chỉnh của tôi trống. Xây dựng lại dự án hoạt động cho tôi.

+1

Điều này làm việc cho tôi. Cảm ơn bạn. – user1510006

+1

'Dự án sạch' là chìa khóa. – jclova

0

Xóa thư mục build trong Moudle và xây dựng lại.

Trong dự án của bạn là HelloUnity\build\ thư mục

Các vấn đề liên quan