본문 바로가기

OS/Android

(50)
More than one file was found with OS independent path 'META-INF/app_release.kotlin_module' packagingOptions { exclude 'app_release/kotlin_module' }
android ScrollView안에 recycerview나 ViewPager 넣었을 때 이벤트 겹침 1. 스와이프 이벤트 겹침 recyclerView.setNestedScrollingEnabled(false); 2. 스크롤뷰가 자동으로 스크롤됨 RecyClerView의 아이템을 그리는 과정에서 아이템에 포커싱이 되어 ScrollView가 말려 올라가는 현상. 즉 ScrollView의 자식 뷰 그룹에 포커싱을 막아주면 해결됨
exoplayer rtmp error(java.lang.AbstractMethodError) 오류내용 java.lang.AbstractMethodError: abstract method "void com.google.android.exoplayer2.upstream.DataSource.addTransferListener(com.google.android.exoplayer2.upstream.TransferListener)" 1. 컴파일옵션 추가 compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } 2. 엑소플레이어 버전 업그레이드 def exoplayerVersion = "2.8.4" -> "2.9.6"
MediaPlayer error(-38, 0) val m_Player = MediaPlayer() fun play(strUrl : String) { m_Player.setWakeMode(context, 1) m_Player.isLooping = false m_Player.setVolume(1.0f, 1.0f) m_Player.setAudioStreamType(AudioManager.STREAM_MUSIC) m_Player.setDataSource(strUrl) m_Player.prepareAsync() m_player.start() } //error (-38, 0) 미디어 플레이어가 완전히 준비되지 않았을 때 play() 메소드를 호출하면 생기는 에러이다. 따라서 데이터소스가 인코딩이 완료되었을 때 play() 메소드를 호출해야 한다. val m_P..
[안드로이드] java.lang.BootstrapMethodError: Exception from call site #4 bootstrap method 에러 하.. exoplayer 분석하는 도중에 자꾸 DefaultBandwidthMeter bandwidthMeter = new DefaultBandwidthMeter()에서 앱이 죽길래 dependency쪽이 잘못됐나 확인하다 한시간을 버렸다.. 알고보니 자바 버전만 올려주면 되는것........ compileOptions { targetCompatibility = "8" sourceCompatibility = "8" }
안드로이드 PermissionManager library 전에 올렸던 권한 요청 소스는 특정 핸드폰에서는 제대로 작동하지 않는 이슈를 확인하게 되어 권한 관련 라이브러리를 포스팅 해보려고 한다. library name : PermissionManager 1. Module: app Gradle에 implementation "com.github.karanchuri:PermissionManager:0.1.0"을 추가 2. repositories에 maven { url 'https://jitpack.io' }추가 3. manifest application 태그에 tools:replace="android:label" 추가 4. 엑티비티에 권한 요청 소스 작성 class StartActivity : AppCompatActivity() { val arr_permission..
Android ndk 사용할 때 deburgger가 느려짐 먼저 응용 프로그램을 실행 한 다음 "디버거를 안드로이드 프로세스에 연결"버튼을 누르면 프로세스 선택 대화 상자가 열리고 디버거를 'auto'에서 'java'로 설정하면 빠르게 디버깅 가능
안드로이드 권한 요청 class MainActivity : AppCompatActivity() { val arr_permission = listOf(Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE) val HAHA_FOLDER_NAME = "/Download/HAHA/" override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) if(checkPermission()) { makeHAHADATAFolder() } } fun checkPermission() :..