GithubHelp home page GithubHelp logo

whataa / pandora Goto Github PK

View Code? Open in Web Editor NEW
1.5K 34.0 170.0 4.85 MB

an android library for debugging what we care about directly in app.

License: Apache License 2.0

Java 97.30% HTML 0.38% Kotlin 2.32%
debugging-tool network-monitoring databsae android-library debug assistant

pandora's Introduction

EN | 中文

Pandora is a tool box that allows you to inspect and modify what includes networks, databases, UIs, etc. directly in your application. It is suitable for rapid position of various problems in the development and testing stages.

Demo

Feature

Network logs

  • Check the detailed logs of network requests, such as headers, body, error messages, and so on.
  • Support all network libraries based on OKHTTP and Android native HttpURLConnection, covering most network development situations.

Sandbox

  • View the app's private storage directory, and can export files to SDcard.
  • Supports browsing and editing SQLite databases, SharedPref files.

UI:Select、Hierarchy、Baseline、Gridline

  • View and modify properties of any Widget, such as the widget's size, color, text content, and so on.
  • Grab and move any widget, view the boundaries and relative distance between widgets, detect alignment, layout and other issues.
  • View the hierarchy of any UI, support Activity, Dialog, PopupWindow, etc.

Other tools

  • Show the current Activity in real time.
  • Supports recording crash, compatible with third-party Crash libraries.
  • You can add shortcut to Pandora.
  • You can open any Activity of your app.
  • You can view the lifecycle history of Activities.

Usage

  1. Declare Jitpack repository and add dependencies:

    // android-support
    debugImplementation 'com.github.whataa:pandora:v${RELEASE}'
    // or androidX
    debugImplementation 'com.github.whataa:pandora:androidx_v${RELEASE}'
    
    // No matter android-support or AndroidX
    releaseImplementation 'com.github.whataa:pandora-no-op:v${RELEASE}'
    
    library version
    pandora Release
    pandora-no-op Release
  2. (Optional)If your project use OKHttp as a network library, interceptor can be injected into OKhttp by pandora-plugin Download

    // in your project's gradle
    buildscript {
        dependencies {
            ...
            classpath 'com.github.whataa:pandora-plugin:1.0.0'
        }
    }
    
    // in your app's gradle
    apply plugin: 'com.android.application'
    apply plugin: 'pandora-plugin'
    
  3. Grant permission to "Overlay Windows" and shake your device.

Thanks

Pandora was developed on the shoulders of giants. Thanks to the following open source projects or person:

  • Logo and Icon are produced by the designer Zularizal.

  • Inspired by Flipboard's open source iOS platform debugging tool FLEX

  • Project database module ideas and part of the source code from Facebook's open source project stetho

  • The idea of selecting views in the UI module of the project and part of the source code from eleme's open source project UETool

  • The request API in the Demo module comes from jgilfelt's open source project chuck

License

Apache-2.0

pandora's People

Contributors

ggggxiaolong avatar joker-fu avatar minatekyo avatar pinguo-tangsong avatar whataa avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pandora's Issues

"Failed to resolve: com.github" for androidx package

It's ok if I use the lib: implementation 'com.github.whataa:pandora:v2.0.2'
But for AndroidX, it has an error "Failed to resolve: com.github"

build.gradle:

dependencies {
    implementation "com.android.support:multidex:1.0.3"
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.0.2'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation 'com.google.android.material:material:1.1.0-alpha02'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    compile "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'com.google.firebase:firebase-core:16.0.6'
    implementation 'com.github.whataa:pandora:androidx_v2.0.0'
}
repositories {
    mavenCentral()
    maven { url 'https://jitpack.io' }
}

json格式建议

你好 在查看responseBody的时候 希望可以提供接口来格式化其中的值 因为如果需要解密的话就没办法了。暂时就只能退回低版本。

Android 9.0 can not open activity

device: Google Pixel2
system: Android 9

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.echatsoft.nativesdkdemo, PID: 17203
    android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
        at android.app.ContextImpl.startActivity(ContextImpl.java:912)
        at android.app.ContextImpl.startActivity(ContextImpl.java:888)
        at android.content.ContextWrapper.startActivity(ContextWrapper.java:379)
        at tech.linjiang.pandora.ui.Dispatcher.start(Dispatcher.java:41)
        at tech.linjiang.pandora.ui.connector.OnEntranceClick.onClick(OnEntranceClick.java:37)
        at tech.linjiang.pandora.Pandora$2.onClick(Pandora.java:69)
        at tech.linjiang.pandora.ui.connector.OnEntranceClick.onClick(OnEntranceClick.java:21)
        at tech.linjiang.pandora.ui.view.EntranceView.onClick(EntranceView.java:189)
        at android.view.View.performClick(View.java:6597)
        at android.view.View.performClickInternal(View.java:6574)
        at android.view.View.access$3100(View.java:778)
        at android.view.View$PerformClick.run(View.java:25885)
        at android.os.Handler.handleCallback(Handler.java:873)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:6669)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

使用okhttp日志功能,获取不到get请求的请求参数

使用okhttp日志功能,获取不到get请求的请求参数
已经添加了你说的
image

找不到get的请求参数,截图说明如下:
这个是其中一个接口请求,这个页面的url地址后面没有看到?后的参数
image
这个是点击了下面Body框里的request body,里面是空的
image

下面这个是点击request body下面的response body,里面是有数据的。
image

就是找不到请求参数request,也就是url?后面的请求参数
更新到1.0.1了,还是找不到,也换了好几个手机了,都没看到,是哪里错了!?

could you please provide the progard rules?

we found it build failed with error:
Unresolved reference: enableShakeOpen
when in release flavor, but success in debug flavor. So it should be progard rules issue which I could Not find here.

点击hierarchy

Process: com.yonghui.vender.datacenter, PID: 20302
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.yonghui.vender.datacenter/tech.linjiang.pandora.ui.Dispatcher}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Class java.lang.Object.getClass()' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2793)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2864)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1567)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:156)
at android.app.ActivityThread.main(ActivityThread.java:6523)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:941)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:831)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Class java.lang.Object.getClass()' on a null object reference
at tech.linjiang.pandora.inspector.treenode.ViewNode.(ViewNode.java:44)
at tech.linjiang.pandora.inspector.treenode.ViewNode.create(ViewNode.java:50)
at tech.linjiang.pandora.inspector.treenode.TreeView.setRootView(TreeView.java:103)
at tech.linjiang.pandora.ui.fragment.ViewFragment.getLayoutView(ViewFragment.java:57)
at tech.linjiang.pandora.ui.fragment.BaseFragment.onCreateView(BaseFragment.java:94)
at android.support.v4.app.Fragment.performCreateView(Fragment.java:2087)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1113)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1295)
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:801)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1682)
at android.support.v4.app.FragmentController.execPendingActions(FragmentController.java:388)
at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:607)
at android.support.v7.app.AppCompatActivity.onStart(AppCompatActivity.java:181)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1254)
at android.app.Activity.performStart(Activity.java:6930)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2756)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2864) 
at android.app.ActivityThread.-wrap12(ActivityThread.java) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1567) 
at android.os.Handler.dispatchMessage(Handler.java:105) 
at android.os.Looper.loop(Looper.java:156) 
at android.app.ActivityThread.main(ActivityThread.java:6523) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:941) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:831) 

和dagger2存在冲突

java.lang.RuntimeException: need to call Pandora#init in Application#onCreate firstly.

在model里进行拦截器初始化的话会报异常

@Provides @Singleton @NonNull OkHttpClient provideOkHttpClient(
     final @NonNull HttpLoggingInterceptor httpLoggingInterceptor,
     final @NonNull ApiRequestInterceptor apiRequestInterceptor/*,
     final @NonNull WebRequestInterceptor webRequestInterceptor*/) {

   final OkHttpClient.Builder builder = new OkHttpClient.Builder();
   // Only log in debug mode to avoid leaking sensitive information.
   builder.readTimeout(60, TimeUnit.SECONDS)
     
       .addInterceptor(apiRequestInterceptor);

   if (BuildConfig.DEBUG) {
     builder.addInterceptor(httpLoggingInterceptor);
     builder.addNetworkInterceptor(new StethoInterceptor());
   }
   builder.sslSocketFactory(createSSLSocketFactory(), new Certificate.TrustAllManager());
   builder.addInterceptor(Pandora.get().getInterceptor());
   return builder.build();
   }

冲突问题

debugApi ('com.github.whataa:pandora:v2.0.4') {
exclude group: 'com.android.support'
exclude group: 'com.squareup.okhttp3'
}
releaseApi ('com.github.whataa:pandora-no-op:v2.0.3') {
exclude group: 'com.android.support'
exclude group: 'com.squareup.okhttp3'
}

之前只需要排除support 今天升级2.0.4连okhttp也要排除了 建议想办法处理下 今天也推荐了给了个朋友使用 他也是因为报冲突 老项目又不敢轻易动之前的 最后放弃使用了

NullPointerException

CrashReport: java.lang.NullPointerException: interceptor com.hyhs.oa.framework.network.HttpLoggingInterceptor@5d7b7d returned null
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:157)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at tech.linjiang.pandora.network.OkHttpInterceptor.intercept(OkHttpInterceptor.java:64)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200)
at okhttp3.RealCall$AsyncCall.execute(RealCall.java:147)
at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)

悬浮窗加入快捷入口

app某些页面入口层级比较深,能否在悬浮窗上加一个快捷入口,可以直接跳转到指定页面,如果能配置自定义intent就更好了😁

版本说明和依赖冲突的解决方案

版本说明

androidx是Android官方推出的用于取代 android-support 的依赖库,相对support包,除了包名不同,其余完全一致。目前有些项目已经迁移到了x,但是也有部分项目由于历史原因无法适配,因此为防止引入Pandora导致重复依赖,提供了以下两种版本:

  • AndroidX
implementation 'com.github.whataa:pandora:androidx_v${RELEASE}'
  • Support
implementation 'com.github.whataa:pandora:v${RELEASE}'

具体区别就是版本号前面是否包含 androix_ 前缀。对于 no-op,由于没有引入对于的依赖库,因此不用区分。

依赖问题

1. support冲突

Pandora使用的findViewById 方法为 非强转类型 版本,需要compile-sdk至少为 26,所以对应的support-lib也需要至少为26.1.0

同时为了保持和官方版本同步,Pandora目前的compileSDK为 28,support版本为28.0.0,support包包含以下三种:

appcompat-v7
recyclerview-v7
design

部分项目可能与此配置不一致导致 gradle sync 失败,又由于一些原因无法修改自身的配置,因此你可以按以下来修改对Pandora的依赖方式:

compileSdkVersion 26

implementation ("com.github.whataa:pandora:v2.0.3") {
    exclude group: 'com.android.support'
}
implementation "com.android.support:appcompat-v7:26.1.0"
implementation "com.android.support:recyclerview-v7:26.1.0"
implementation "com.android.support:design:26.1.0"

当然如果你引入了其它依赖库也间接依赖了不同版本的support包,你也需要自行 exclude 进行排除防止冲突。

2. OKHttp依赖更新说明

Pandora依赖的OKHttp版本为 3.14.0,如果和项目产生依赖冲突,你可以按照以上方案进行重新指定版本:

implementation ("com.github.whataa:pandora:v2.1.0") {
    exclude group: 'com.squareup.okhttp3'
}

空指针异常

按照文档集成到项目中,运行后直接崩溃
java.lang.RuntimeException: Unable to get provider tech.linjiang.pandora.Pandora: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference at android.app.ActivityThread.installProvider(ActivityThread.java:5363) at android.app.ActivityThread.installContentProviders(ActivityThread.java:4881) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4815) at android.app.ActivityThread.access$1600(ActivityThread.java:168) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1440) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:150) at android.app.ActivityThread.main(ActivityThread.java:5659) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:822) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:712) Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference at tech.linjiang.pandora.util.ViewKnife.getResouces(ViewKnife.java:37) at tech.linjiang.pandora.util.ViewKnife.getString(ViewKnife.java:53) at tech.linjiang.pandora.FuncController$1.getName(FuncController.java:137) at tech.linjiang.pandora.FuncController.addFunc(FuncController.java:45) at tech.linjiang.pandora.FuncController.addDefaultFunctions(FuncController.java:129) at tech.linjiang.pandora.FuncController.<init>(FuncController.java:39) at tech.linjiang.pandora.Pandora.init(Pandora.java:39) at tech.linjiang.pandora.Pandora.onCreate(Pandora.java:33) at android.content.ContentProvider.attachInfo(ContentProvider.java:1748) at android.content.ContentProvider.attachInfo(ContentProvider.java:1723) at android.support.v4.content.FileProvider.attachInfo(FileProvider.java:382) at android.app.ActivityThread.installProvider(ActivityThread.java:5360) at android.app.ActivityThread.installContentProviders(ActivityThread.java:4881)  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4815)  at android.app.ActivityThread.access$1600(ActivityThread.java:168)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1440)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:150)  at android.app.ActivityThread.main(ActivityThread.java:5659)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:822)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:712) 

新建BuildTypes的时候,启动黑屏。

buildTpyes中多加了一个类型debugTest,使用这个运行就会出问题。
gradle中的配置如下:

buildTypes {
    release {
        debuggable false
        minifyEnabled true
        shrinkResources true
        zipAlignEnabled true
        signingConfig signingConfigs.release
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        // 是否处于调试状态
        buildConfigField("boolean", "IS_DEBUGING", "false")
        // 服务器IP端口前缀等的配置
        buildConfigField("String", "ENVIROMENT", "\"pro\"")
    }
    debugTest.initWith(release)
    debugTest {
        // 可调试
        debuggable true
        // LogUtils 是否打印日志
        buildConfigField("boolean", "IS_DEBUGING", "true")
        buildConfigField("String", "ENVIROMENT", "\"test\"")
        // App版本号后缀
        versionNameSuffix ".test"
        // 执行构建这个编译版本时,如果某个子模块中没有 debugTest 这个版本
        // Gradle 3.X 会一一按照你指定的 matchingFallbacks 从前往后依次寻找,直到类型匹配
        matchingFallbacks = ['debugTest', 'release', 'debug']
    }
}

dependencies {
    // Pandora 调试用
    debugImplementation 'com.github.whataa:pandora:v2.0.0'
    debugTestImplementation 'com.github.whataa:pandora-no-op:v2.0.1'
    // 这里如果想开启Pandora功能的话,启动会黑屏,没有主进程,只有其他进程
    //debugTestImplementation 'com.github.whataa:pandora:v2.0.0'
    releaseImplementation 'com.github.whataa:pandora-no-op:v2.0.1'
}

新版本初始化问题

你好,这是一个非常棒的一个库。这个库最新版本是在 PdFileProvider 里面去做初始化的,这样做现在会带来一个问题,如果我想在 Application onCreate 里面去调用 get() 方法去做一些初始化的相关配置就会出现问题。

Pandora.get().getBottomActivity() 为空

点击 Select 崩溃

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.janmart.dms.devs/tech.linjiang.pandora.ui.TransActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.Window android.app.Activity.getWindow()' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2489)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2551)
at android.app.ActivityThread.access$1000(ActivityThread.java:169)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1432)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5581)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:968)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:763)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.Window android.app.Activity.getWindow()' on a null object reference
at tech.linjiang.pandora.util.ViewKnife.tryGetTheFrontView(ViewKnife.java:259)
at tech.linjiang.pandora.inspector.ElementHoldView.tryGetFrontView(ElementHoldView.java:103)
at tech.linjiang.pandora.ui.fragment.ViewFragment.getLayoutView(ViewFragment.java:52)
at tech.linjiang.pandora.ui.fragment.BaseFragment.onCreateView(BaseFragment.java:108)

at android.support.v4.app.Fragment.performCreateView(Fragment.java:2439)

[1.3.2版本]Pandora.get().getBottomActivity() 拿到的 activity 为空

期望加入的功能

position功能点击某个view的时候,可以显示是哪个Activity的View或者是哪个Activity下的Fragment的View 例如:MainActivity->HomeFragment->TextView->@app:id/tv_content
这样可以利用Android Studio的全局搜索功能快速定位到所要定位的页面及要修改view
应用页面太多了,会经常用到这个命令,查找Activity,如果应用本身就有这个功能就太好了
adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp' --color=always

无法查看数据库

使用感不错,感谢作者
不过,我始终不能查看数据库文件
我的应用中数据库文件为 /data/user/0/com.huaqin.deskclock/databases/alarm.db
不能直接查看

6.0使用会崩溃

public static void start(Context context, @type int type) {
Intent intent = new Intent(context, Dispatcher.class)
.putExtra(PARAM1, type);
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
}
context.startActivity(intent);
}

6.0使用时,此方法会引起崩溃;为什么只判断5.0以下添加FLAG?

GsonFormatterImpl无效

 private fun initPandora() {
    Pandora.get().interceptor.jsonFormatter = GsonFormatterImpl()
  }

版本:1.2.2
问题:设置了数据格式json展示的时候还是一行的

Unable to merge dex

When I run the problem,How to fix this problem:
Error:Execution failed for task ':test:transformDexArchiveWithExternalLibsDexMergerForDebug'.

com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex
Thanks for your help!

Logo design contribution

Hallo @whataa
I am a graphic designer.I am so exited about this and want to make a logo for this projects.If you have any requirements then let me know .its free for any open source projects.
Thank you

How to close it programmatically?

I found it's possible to close with EntranceView.close().

However, my project will not compile trying to generate the release version, since EntranceView it's not part of the pandora-no-op.

Would it be possible to add it, even if close method is completely empty? I just want it to compile, I have pandora disabled for release mode.

Or is it a different way to hide the pandora bar?

上传大图报错

04-24 11:43:38.396 8047-8104/net.ronance.debug W/System.err: at tech.linjiang.pandora.network.OkHttpInterceptor.updateContent(OkHttpInterceptor.java:164)
04-24 11:43:38.396 8047-8104/net.ronance.debug W/System.err: at tech.linjiang.pandora.network.OkHttpInterceptor.intercept(OkHttpInterceptor.java:81)
04-24 11:43:38.396 8047-8104/net.ronance.debug W/System.err: at retrofit2.OkHttpCall.execute(OkHttpCall.java:186)
04-24 11:43:38.422 8047-8047/net.ronance.debug W/subscribeE: Invalid index 0, size is 0

public static Content query(long id) {
return CacheDatabase.queryList(Content.class, BaseColumns._ID + " = " + String.valueOf(id), "limit 1").get(0);
} 这里越界了

java.io.EOFException

2019-06-18 15:45:47.748 3510-17027/com.example.app W/System.err: java.io.EOFException
2019-06-18 15:45:47.749 3510-17027/com.example.app W/System.err:     at okio.RealBufferedSource.require(RealBufferedSource.java:61)
2019-06-18 15:45:47.749 3510-17027/com.example.app W/System.err:     at okio.GzipSource.consumeHeader(GzipSource.java:114)
2019-06-18 15:45:47.749 3510-17027/com.example.app W/System.err:     at okio.GzipSource.read(GzipSource.java:73)
2019-06-18 15:45:47.749 3510-17027/com.example.app W/System.err:     at okio.Buffer.writeAll(Buffer.java:1135)
2019-06-18 15:45:47.749 3510-17027/com.example.app W/System.err:     at okio.RealBufferedSource.readString(RealBufferedSource.java:199)
2019-06-18 15:45:47.749 3510-17027/com.example.app W/System.err:     at tech.linjiang.pandora.network.OkHttpInterceptor.sourceToStrInternal(OkHttpInterceptor.java:313)
2019-06-18 15:45:47.749 3510-17027/com.example.app W/System.err:     at tech.linjiang.pandora.network.OkHttpInterceptor.requestBodyAsStr(OkHttpInterceptor.java:262)
2019-06-18 15:45:47.749 3510-17027/com.example.app W/System.err:     at tech.linjiang.pandora.network.OkHttpInterceptor.insert(OkHttpInterceptor.java:118)
2019-06-18 15:45:47.749 3510-17027/com.example.app W/System.err:     at tech.linjiang.pandora.network.OkHttpInterceptor.intercept(OkHttpInterceptor.java:50)
2019-06-18 15:45:47.749 3510-17027/com.example.app W/System.err:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
2019-06-18 15:45:47.749 3510-17027/com.example.app W/System.err:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
2019-06-18 15:45:47.749 3510-17027/com.example.app W/System.err:     at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:254)
2019-06-18 15:45:47.749 3510-17027/com.example.app W/System.err:     at okhttp3.RealCall$AsyncCall.execute(RealCall.java:200)
2019-06-18 15:45:47.749 3510-17027/com.example.app W/System.err:     at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
2019-06-18 15:45:47.749 3510-17027/com.example.app W/System.err:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
2019-06-18 15:45:47.750 3510-17027/com.example.app W/System.err:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
2019-06-18 15:45:47.750 3510-17027/com.example.app W/System.err:     at java.lang.Thread.run(Thread.java:784)

Logo Design For Pandora

Hi @whataa , I'm a graphic designer after I review your project, I'm interested in your project and I want to create a unique and modern logo for your project. You can see the logo that I have designed in the previous projects.

Best Regards,
Zularizal

添加依赖后会崩溃

2019-05-05 18:17:08.308 30725-30725/com.mobile.wx E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.mobile.wx, PID: 30725
Theme: themes:{default=, iconPack:com.gometheme.defaulttheme}
java.lang.NullPointerException: Attempt to invoke virtual method 'void java.lang.reflect.AccessibleObject.setAccessible(boolean)' on a null object reference
at com.mobile.wx.ui.MeHomeFragment.setIndicator(MeHomeFragment.java:228)

Network无数据,Retrofit

项目用的是Retrofit2.3.0,底层是Okhttp3.8.0。但是然后没有数据。不知道什么原因呢?

ActivityNotFoundException

机型:魅族M5s
Android版本:6.0
报错堆栈信息:

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.settings.action.MANAGE_OVERLAY_PERMISSION dat=package:xxxxxx
flg=0x10000000 }
        at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1835)
        at android.app.Instrumentation.execStartActivity(Instrumentation.java:1549)
        at android.app.ContextImpl.startActivity(ContextImpl.java:705)
        at android.app.ContextImpl.startActivity(ContextImpl.java:687)
        at android.content.ContextWrapper.startActivity(ContextWrapper.java:331)
        at tech.linjiang.pandora.util.Utils.checkPermission(Utils.java:150)
        at tech.linjiang.pandora.Pandora.open(Pandora.java:91)
        ....

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.