У меня ломается приложение, после обфускации
У меня приложение с Custom Tabs и оно работает некорректно, если я включаю обфускацию с помощью Pro Guard. С чем это может быть связанно?
2021-06-02 11:18:32.618 10953-10953/com.example.test4 E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.test4, PID: 10953
java.lang.NullPointerException: uriString
at android.net.Uri$StringUri.<init>(Uri.java:496)
at android.net.Uri$StringUri.<init>(Uri.java:486)
at android.net.Uri.parse(Uri.java:458)
at com.phanterheights.darkwinner.ChromeTabPage.ui.ChromeTabFragment.createChromeTab(:36)
at com.phanterheights.darkwinner.ChromeTabPage.ui.ChromeTabFragment.onCreateView(:23)
at androidx.fragment.app.Fragment.F0(:2698)
at c.m.b.r.e(:320)
at c.m.b.m.A0(:1187)
at c.m.b.m.a(:2224)
at c.m.b.m.T(:1997)
at c.m.b.m.M0(:1953)
at c.m.b.m.Q(:1849)
at c.m.b.m$d.run(:413)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
Сам фрагмент с Custom Tabs:
class ChromeTabFragment : Fragment() {
private val builder = CustomTabsIntent.Builder()
private val customTabsIntent = builder.build()
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?
): View? {
val url = arguments?.getString("location")
createChromeTab(url)
return inflater.inflate(R.layout.fragment_chrome_tab, container, false)
}
@Keep
private fun createChromeTab(data: String?) {
val packageName = "com.android.chrome"
customTabsIntent.intent.setPackage(packageName)
customTabsIntent.intent.addFlags(FLAG_GRANT_READ_URI_PERMISSION)
context?.let { customTabsIntent.launchUrl(it, Uri.parse(data)) }
}
override fun onStop() {
super.onStop()
activity?.finish()
}
}
Без обфускации приложение работает корректно. С чем это может быть связано?
UPD: Добавил файл
proguard-rules
