출처: https://m.blog.naver.com/ilove_uguys/220536903548
proguard-rules.pro
네이버 로그인은 따로 프로가드 설정은 하지 않았다.
다만 카카오톡은 프로가드 설정 없이는 앱이 자꾸 죽는 문제가 발생하여
아래와 같이 추가했다.
-keep class com.kakao.** { *; }
-keepattributes Signature
-keepclassmembers class * {
public static <fields>;
public *;
}
혹시 이넘이나, 이너 클래스가 문제를 일으킬 경우 아래와 같은 코드를 추가해주장
public static **[] values();
public static ** valueOf(java.lang.String);
}-keepattributes InnerClasses
===================================================================================================
카카오톡, 네이버, 페이스북으로 로그인 하는 기능.. 넘 힘들게 고생스럽게 했다..ㅠㅠ
코드를 압축해서 jar 라이브러리로 쓰고 싶어서
jar파일 반드는 법을 익혔다.
참고 사이트 : https://www.youtube.com/watch?v=E54KjhrP66I
참고 사이트2: http://blog.ashwanik.in/2015/02/export-jar-for-android-plugin-unity3d.html
프로젝트를 하나 만들고, 그안에 library 하나를 만든다.
그리고 라이브러리의 build.gradle 파일을 아래와 같이 작성한다.
그리고 우측 Gradle 윈도우 창을 열고
첨부파일과 같이 exportJar를 클릭한다. (모듈명 -> Tasks-> other 하위에 있다.)
주의 디버그 모드가 아닌 릴리즈 모드로 run 시킬것.
개인 기록으로 남겨 놓는 글이라.. 설명이 부진합니다.
혹시 상세한 설명 필요하시면 댓글로.....
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
sourceSets {
main {
// Here is the path to your source code
java {
srcDir 'src/main/java'
}
}
}
defaultConfig {
minSdkVersion 14
targetSdkVersion 23
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
lintOptions {
abortOnError false
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.0'
compile files('release/AndroidPlugin.jar')
}
task deleteOldJar(type: Delete) {
delete 'build/libs/AndroidPlugin.jar'
}
task exportJar(type: Copy) {
from('build/intermediates/bundles/release/')
into('release/')
include('classes.jar')
///Give whatever name you want to give
rename('classes.jar', 'AndroidPlugin.jar')
}
exportJar.dependsOn(deleteOldJar, build)
출처: http://blog.naver.com/david_shkim/220692284090
Android Library module에서 AAR이 아닌 JAR만 만들기 위해서는
lib module의 "build.gradle" file을 약간 수정하면 된다.
1. task deleteOldJar{}
// task to delete the old jar
task deleteOldJar(type: Delete) {
delete 'release/smartlink.jar'
}
2. task exportJar{}
// task to export contents as jar
task exportJar(type: Copy) {
from('build/intermediates/bundles/release/')
into('release/')
include('classes.jar')
rename('classes.jar', 'smartlink.jar')
}
3. dependence
exportJar.dependsOn(deleteOldJar, build)
아래 예제 참조
apply plugin: 'com.android.library'
|
'개발 > APP' 카테고리의 다른 글
[android 개발] UI Thread 외부에서 UI 관련 작업 호출 하기 (0) | 2018.11.22 |
---|---|
안드로이드 내부 저장소에 이미지 저장 (0) | 2018.11.22 |
안드로이드 TabLayout ViewPager (0) | 2018.10.17 |
안드로이드 Fragment (0) | 2018.10.17 |
[Android] 내부 SQL(SQLite) Database 사용하기 (0) | 2018.10.15 |