首页
学习
活动
专区
圈层
工具
发布

android代码混淆

2,运行错误,当code 不能混淆的时候,我们必须要正确配置,否则程序会运行出错,这种情况问题最多。 3,调试苦难,出错了,错误堆栈是混淆后的代码 ,自己也看不懂。...自定义View Android Parcelable Android R 文件 Android Parcelable 枚举 各个开发人员必须检查自己的code 是否用到反射 ,和其他不能混淆的地方...-outjars {class_path}    指定处理完后要输出的jar,war,ear和目录的名称 -libraryjars {classpath}    指定要处理的应用程序jar,war...打包出来的程序如何调试 一旦打包出来,就不能用eclipse的logcat去看了,这里可以用android sdk中ddms.bat的tool来看,一用就发现和logcat其实还是一个东西,就是多了个设备的选择...* extends android.app.Activity {【保护指定类的成员,如果此类受到保护他们会保护的更好 】 public void *(android.view.View); }

2.1K80
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android开发笔记(二十八)利用Application实现内存读写

    适合在Application中保存的全局变量,主要是一些Activity不方便传输的对象,包括: 1、Java容器类和需要使用方法的对象;因为Intent不能直接传递容器数据,同时序列化对象只能传输数据却不能传输方法...Application内存读写的实现思路 首先写一个类MainApplication继承自Application,该类要采用单例模式,内部声明自身类的一个静态成员对象,在创建app时把自身赋值给这个静态对象...其次在每个Activity中声明MainApplication类的成员对象,同时获取MainApplication的静态对象赋值给该成员对象,于是每个Activity都持有了MainApplication...接着在具体Activity中,就可以通过该成员对象访问MainApplication内部的公共对象和公共方法了。...", desc, item_map.getKey(), item_map.getValue()); } return desc; } } 主页面的代码 import android.app.Activity

    1.1K20

    OpenGL 系列---基础绘制流程

    在 Android 上使用的是 OpenGL ES,它是 OpenGL 的子集,在 OpenGL 的基础之上裁剪掉了一些非必要的部分,主要是针对手机、PAD 和游戏主机等嵌入式设备设计的。...假设我们定义了一个点的坐标(4.3,2.1),也就是它的 X 轴坐标和 Y 轴坐标,而 OpenGL 最后会把我们定义的坐标映射手机屏幕的实际物理坐标上。...显卡的渲染管线就是显示核心的重要组成部分,是负责给图形配上颜色的一组专门通道。渲染管线的数量是决定显示芯片性能和档次的最重要的参数之一。 现阶段的显卡都是分为顶点渲染和像素渲染的。...数据缓存区中的顶点坐标会赋值给 a_Position ,a_Position 会传递给 gl_Position。 而 gl_PointSize 则固定了点的大小为 30。...绑定了变量之后,接下来就是给他们赋值了,对于uniform类型变量,由于是固定值,所以直接调用glUniform4f方法给其赋值就好了,而attribute类型变量,则需要对应顶点数据中的值了,vertexArray.setVertexAttribPointer

    2.4K40

    Android 如何实现气泡选择动画

    这给用户很深刻的反馈并增强操作的直观感受。 组件使用白色主题,明亮的颜色和图片贯穿始终。此外,我决定试验渐变来增加深度和体积。渐变可能是主要的显示特征,会吸引新用户的注意。...[image] 圆的中心 a_UV 包含 x 和 y,它们的值每个顶点都不同,取值范围是 0 ~ 1。我只给顶点着色器 a_UV 和 v_UV 两个入参,因此每个片段都可以插入 v_UV。...{ ... } private fun drawImage(canvas: Canvas) { ... } 之后我将 texture 单元赋值给...GlSurfaceView 中检测用户触摸事件 GLSurfaceView 和其它的 Android view 一样可以响应用户的点击事件。...() + (y - it.y).sqr()).toDouble()) <= it.radius } } 当找到选择的圆后,我会修改它的半径和 texture。

    3.1K20

    【Binder 机制】AIDL 分析 ( 分析 AIDL 文件生成的 Java 源文件 | Binder | IBinder | Stub | Proxy )

    不能为null。 * 如果不发送任何数据,则必须创建此处给出的空地块。 * @param reply 要从目标接收的封送数据。...= kim.hsl.aidl_demo.Student.CREATOR.createFromParcel(data) , 调用了 Student 类的反序列化方法 , 将参数先进行反序列化 , 然后赋值给...{ // 通过 Parcel 池获得两个对象 , 分别用于输入和输出 // 输入对象 android.os.Parcel _data = android.os.Parcel.obtain...* 要正确使用此功能,您必须在顶级应用程序组件(a{@link android.app.Service}、 * {@link android.app.Activity}或{@link android.content.ContentProvider...* 例如,如果您在{@link android.app.Activity}中使用此函数, * 则您的活动的进程可能会在活动未启动时被终止; * 如果以后重新创建活动,则需要创建新的活页夹, * 并再次将其交回正确的位置

    2.1K30
    领券