2016-06-22 2 views
0

내 앱에서 일부 비즈니스 로직에 dex injection을 사용하고 있습니다. 내가 프로젝트와 Maven 플러그인 com.jayway.maven.plugins.android.generation2Proguard 및 Maven을 사용한 Android dex injection

내 응용 프로그램이 덱스에서 연결 인터페이스를 통해와 separatly 그 덱스를 구축 받는다는 사용하고
. 동일한 이름으로 내 앱과 외부 코드를 난독화할 수있는 방법을 찾아야합니다. 내 pom.xml

예 :

<build> 
     <plugins> 
      <plugin> 
       <groupId>com.jayway.maven.plugins.android.generation2</groupId> 
       <artifactId>android-maven-plugin</artifactId> 
       <extensions>true</extensions> 
       <version>3.7.0</version> 
       <configuration> 

        <dex> 
         <jvmArguments> 
          <jvmArgument>-Xms256m</jvmArgument> 
          <jvmArgument>-Xmx1500m</jvmArgument> 
         </jvmArguments> 

        </dex> 
        <proguard> 
         <skip>false</skip> 
         <proguardJarPath>${env.ANDROID_HOME}/tools/proguard/lib/proguard.jar</proguardJarPath> 
         <jvmArguments> 
          <jvmArgument>-Xms256m</jvmArgument> 
          <jvmArgument>-Xmx1500m</jvmArgument> 
         </jvmArguments> 
        </proguard> 
        <sdk> 
         <platform>19</platform> 
        </sdk> 
        <undeployBeforeDeploy>true</undeployBeforeDeploy> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 

멀티 덱스처럼 또는 뭔가 다른 필요인가요?

답변

1

구성 옵션 -applymapping을 사용하여 기존 매핑을 재사용 할 수 있습니다. 따라서 워크 플로우는 ProGuard를 사용하여 추가 dex 파일을 작성하고 전체 어플리케이션을 빌드 할 때 결과 맵핑 파일을 사용하는 것입니다. 문제의 위험을 줄이려면 다음 옵션 (dex 및 응용 프로그램 모두)을 사용해야합니다.

-useuniqueclassmembernames