Tag Archives: The framework

Android artifact xposed framework user guide

1 Introduction

Xposed is known as the most powerful artifact on Android. If you don’t know what xposed is, then you are really out. This blog will let bloggers take you to understand xposed.

(1) What is xposed?
Xposed is a framework. There are many modules on it. These modules all depend on xposed. The reason why xposed is the first artifact is that these modules can complete many incredible functions, such as modifying the wechat interface, automatically grabbing red packets module, self defining the text of the program, preventing wechat messages from withdrawing, and preventing the three hooligans of bat from calling each other Wake up, chain start, lock the screen automatically after the app to prevent background operation power consumption, there are many modification app or mobile data installed B module and so on.

(2) How does xposed work?
xposed The principle is to modify the key files of the system, and then when the app calls the system API, it first goes through xposed, and these xposed based modules can selectively do some “bad” things when the app calls these APIs, or modify the returned results, so that the effect of the app will change when it runs, but the app itself is not damaged, just when it calls the system API Wait, the performance of Android system has changed. This is hook, the technical term hook. So, to put it bluntly, xposed is a powerful hook framework.

Let’s have a professional explanation

By replacing / system / bin / APP_ The precess program controls the zygote process so that it loads a jar file of the xposed framework during the system startup XposedBridge.jar So as to complete the hijacking of zygote process and its Dalvik virtual machine, and allow the development

Flex Error #2032 Stream Error

Question:
The machine in CCBN exhibition visited the PAGE of OSS system, Error #2032 Stream Error occurred, and the SWF file could not be viewed.

Environment:
The biggest difference is that the second way of compiling the files that depend on the Flex framework is Merged into the SWF of the source. It is much larger than the first SWF file that is compiled using the RSL.
Compiling with the RSL requires the Flex framework file to be placed in the same directory as the source SWF.
Flex frame files are divided into two types: framework_swz (for example, framework_4.0.0.14159.swz) at compile time and frame_swf (for example, framework_4.0.0.14159.swf) at run time. According to analysis, framework_4.0.0.14159.SWz is priority to load framework_4.0.0.14159.SWz when client machine access, it will be put into the Flash Player’s cache directory after successful loading. Flash Player automatically downloads framework _4.0.0.14159.swF (either of these files can be downloaded and displayed properly).

Problem analysis:
In the flash directory of the OSs_system_web_page project of our current OSS system, there are only Flex framework related SWF files (6 in total), and no related SWZ files. When the machine of the exhibition visited the system, the SWZ file of the frame could not be found, and the SWF file of the frame was not found automatically, so the access error occurred. In our company, the desktop machine automatically finds the SWF file of the frame, so there is no problem.

Solutions:
SWZ, OSMF_flex. 4.0.0.13495.SWz, RPC_4.0.0.14159.SWz, SPARk_4.0.0.14159.SWz, SPARkskins_4.0.0.14159.SWz, SPARkskins_4.0.0.14159.SWz, SPARkskins_4.0.14159.SWz, SPARkskins_4.0.14159.SWz, SPARkskins_4.0.14159.SWz, SPARkskins_4.0.14159.SWz, Textlayout_1.0.0.595.swz) in the FLASH directory of the OSs_system_web_page project, and then configure the web.xml file of the project, so that the Tomcat server can recognize the SWZ file:

<mime-mapping>

  <extension>swz</extension>

  <mime-type>application/octet-stream</mime-type>

</mime-mapping>

This way, when the exhibition machine accesses the system, it will find the Flex frame-related SWZ files and will be able to access the system SWF files correctly. Problem solving.

Refer to http://blog.csdn.net/hanxing0/article/details/5556042
http://www.blogjava.net/aiaiwoo/articles/338454.html

Solutions to flex4 error ා 2032 stream error

Recently, I was working on a project, and found no problems in the initial release of the program, but some users reported that they could not see the site, and screenshot Error#2032 error. But it worked in the r&d center, and was later tested and luckily found on a test machine. While the other 9 machines were tested at the same time, and found that they could display normally. Then I searched the Internet. No results. Set Cache, compile Settings, try a bunch of them. No response. Weird question! I was even thinking about going back to Flex3, because I stumbled upon a Flex3 project that made sense here. But then I came across a foreigner’s website:
Salesforce Flex: “Error #2032: Stream Error. URL: “
Give it a try, re-select the frame join and merge into the code.
Oh, my God, it worked.
This setting can be found in the Flex build path library path for project properties.
Originally, the first default in Flash Builder4 was to use the SDK default. This is exactly the difference from Flex3.
But it’s not clear what the difference is between the first option, the SDK default. But from the results of the release. It’s a lot smaller when you merge it into code.

AE ram preview requires 2 or more frameworks to solve playback

After Effects error:RAM preview needs 2 or more frames to playback
 
“RAM preview requires 2 or more frames for playback “or” explained that memory capacity is too small”
 
 
Another small finding was that WHEN AE rendered by pressing the “0” button, if it said “After Effects Error :RAM Preview needs 2 or more frames to Playback “, the popular online message was that it was running out of memory, so just release it. In fact, there is a small side door, which is to check the From Current Time check box on the right. Accidentally discovered..

 
I used the English version and noticed that the RAM preview changed when I adjusted to different Settings.

in the AE menu, you can follow the following steps to find out the RAM preview memory configuration options:

so if you set the adjustment bar to the far right for the fastest preview speed, press 0 again, the following prompt may appear:

“After Effects Error :RAM Preview needs 2 or more Frames to Playback”, so this graphical option should be adjusted to avoid this error.

the other RAM preview also have different options:

I am will adjust the tie rod moved to the far left, anyway, large memory capacity (64 – bit Windows 7 of 8 gb of memory), then I am chose “From the current frame” this option, the English meaning is From now this frame (start preview), activate this option has the advantage of, avoid to start From scratch every time.

then I first move the pointer of the timeline to the place I want to review, and then press the 0 key of the keypad to start the rendering, I found that the RAM render preview can be accumulated.
although rendered will likely stop somewhere, if you press the keypad 0, can timely preview with audio clips, and then if you press the keypad 0, if memory allocation is reasonable, can also continue to accumulate, every rendering is tight as the last rendering the end point, this section after accumulation, the green line of time online will have different rendering process with time, gradually accumulate, until will run out the allocation of memory. This allows you to view long rendered content.

also:

render after press 0 can only play the part of the green line, if it is a green line between the blue line or blank, then press 0 when the preview will be stopped on the blue line starting point (or starting point of the blank, the end of the green), if you would turn it into green and sustainable, in former time pointer positioned in the green line, and choose “” From the current frame”, continue to press the keypad 0, and the green line in the middle of the blue lines or fill blank section was JiCheng green. It is recommended that you always use the 0 key of the keypad, so that you can watch long segments of accumulated content with sound. When viewing the RAM preview, if you reach the key point, press the * key on the keypad to mark, which is useful for audio editing in the future.

preview window has the “SHIFT+RAM” option, which can be rendered every other frame preview, generally defined in the project default resolution about half of the definition, and for the frame-by-frame jump preview. Also associated with this is the option “SKIP”, which allows you to choose how many frames you want to render in to save time. Above SHIFT + RAM is to skip a frame.
, of course, selects 0 to render everything (no omitted interval frames). The above two items should be noted: because some people may like to keep RAM rendering content, but you should pay attention to the interval frame parameters (1 and 2 or 0?). And possible audio spacing issues. Note that select 0: is all the spaceless render!

(CTRL+ keyboard 0 can save RAM preview content)

with audio preview, might as well CTRL+4 to activate the audio level indicator to see if the audio is overloaded…

preview has a lot to play with… As long as you stick to the zero key on your keypad, you’ll iterate over the steps, render, play, accumulate render…
green line is part of the timeline can be spliced together, mainly is the stitching together of the persistent green line, can real-time with audio playback preview, if you insist on cumulative preview render, allocated memory segment will make the corresponding adjustment, is likely to be behind the rendering gradually turn green, and in front of the green line is gradually becoming blue…

Analysis of “RSL error 1 of 1”

Recently, I participated in a virtual community Project, in which I made a farm game and video conferencing application module. The whole Project has several Flex projects, including the main program, public library and various functional modules. Because I was a late participant, I did not know much about the development mode of the Project, and of course because the two applications I made were independent, So I used the independent Flex Project to build the two applications.
The project used RSL(Runtime Shared Library) to link external libraries, so I also used RSL when making those two applications. At the beginning, everything was normal. After the project was launched, the customer service staff occasionally received a call from the customer saying that the farm could not be opened, and the location of the farm appeared “RSL Error 1 of 1”, with a paragraph below “Error #2032: flow Error”. URL: http://www.xxx.com/XXX.swf/ [[DYNAMIC]]/framework_3 2.0.3958. SWF.
For a period of time, I was quite confused. At that time, I found the cause of the problem and came up with a solution.
First make a brief introduction of RSL, RSL is to compile multiple Project to create classes to multiple SWF, which includes the class library Project, the Flex framework library (framework_xxx. SWF), so that you can put the SWF contained in class sharing for multiple projects, on the client side load when it is ok to only need to load a (if not using RSL, all use class will compile into a SWF, if there are multiple SWF, repeat each part is contained inside the class, increase the user downloads). In the case of only one Project, the effect of using the RSL is not obvious because the generated SWF needs to be loaded for all other SWF Shared libraries that are used; However, if there are multiple projects, the advantage will emerge. After the first SWF loads the Shared library, the later SWF will not need to be loaded again, which can improve the access speed.
After using RSL, there will be two framework files “framework_3.2.0.3958. SWZ” and “framework_3.2.0.3958. SWF” in the root directory of the generated project (using different Flex SDK, the latter version number of these two framework files will be different). If the framework.swz file fails to load, Flash Player will go to the framework.swf file, one of the two is successfully loaded, and the project will run correctly.
In the event of a “RSL Error” Error, I tried to reproduce this Error on your computer, operating system, using XP when I cancel the SWZ files from the Flash Player cache, and built an empty read-only SWZ files, name and just delete the SWZ file name, to run the project again, and sure enough the “RSL Error”, below, write a new framework for Flash Player to the cache. SWZ failed, at the same time framework. The SWF also failed to load. The solution was to manually save the framework.swz file to the client’s Flash Player cache. I didn’t think much about why the file didn’t load successfully on the client’s computer (maybe it was a permission issue), but I just posted on the forum to see if anyone had a similar problem.

Everyone has a lazy side, which was exactly what I did at that time. If you think about it carefully, there are at least two questions that should be explored: 1. The whole project is using RSL, why only the two applications I wrote have RSL errors, and what is the difference between the application I wrote and the whole project; 2. 2, my application in framework. SWZ failed to load, framework. SWF also failed to load, so it can not run, the whole project in SWZ failed to load, but can run, later look, IE cache does exist framework. SWF, then this can be the whole project file load framework. SWF.
For a while, no one on the forum was sure of a solution to the problem. Once again, let me dig into this problem to help a customer solve the farm can not be opened, that is, there is an “RSL Error”. The client’s computer is Vista and Internet Explorer 8. When I put the framework.swz used in RSL into the client’s Flash cache, it occurred to me that it might be caused by the operating system. We are developing on XP. Because there is no SWZ file in the client’s Flash cache, the previous access failed to load the SWZ at all.
I installed Win7 in the virtual machine to do the test (Win7 and Vista kernel), sure enough, under Win7 can not normally access the farm, Flash cache without SWZ file. Because the project of other modules can be normal visit, so I think framework. The SWF file should be loaded successfully, but when I open the IE cache, find IE cache is framework. SWZ, rather surprised, as the chart, because always thought before the SWZ framework cache files will be saved to Flash, never think under Windows 7 will be put into IE cache (I Flash Player version is 10.0.45), which is why no SWZ framework in the Flash cache files. (If frame. SWZ is in Flash cache, SWFS in multiple domains can be Shared; if in IE cache, SWFS in the same domain can only be Shared).

Discovering this has certainly given me a better understanding of the RSL bug, which could be a bug in Flash Player, or a manipulation of Adobe by Microsoft, but this cannot be confirmed at this time.
Question to this, of course, is not the end, because we have a question: framework. SWZ loading failure, and framework. The SWF can choose ah, why the second choice is also failed, I use firefox HttpFox plugin to view the request to the server client, finally found the problem, and it is concluded that the second question framework. SWF loading failure has nothing to do with the operating system. Summary of the cause of the problem: “Loading an external SWF file that USES an RSL causes an error path to the Framework file that the external SWF points to.”
Firefox browsing, and open the HttpFox plugin to view the Http request, after loading the main routine, can detect the client request the framework. SWZ file (if the SWZ cannot load may be loaded framework. The SWF file), when I disable the SWZ file after loading, into the farm, found the farm reload framework. SWZ and framework. The SWF, but these two files are failed to load, the two pictures below the first one is the main process successfully loaded framework. SWZ, The second path to the Framework file that shows the farm loaded is an error.


The problem is clear, the farm is a separate Project and USES the RSL and is loaded into the main program using Loader. It looks as if this changes the URL path of the farm program, but the resource path used by the farm does not change. So the conclusion should be that only the path of framework file used by this application is changed, and this path is only used in Flash Player, I don’t know if there is any other place to set it, is this another Flash Player bug?
I hope to further study the RSL.
 
PS: I forgot to write the solution in this article. At present, I know of two solutions. One is to stop using the RSL. The second is to manually copy the FlashPlayer cache file to the client. The disadvantage of this method is that sometimes we cannot operate the client. For the second approach, the cache directory of FlashPlayer is: XP system is C:/Documents and Settings/user/Application Data/Adobe Flash Player/AssetCache/H7UC3H3Y, VISTA and Windows 7 system is C:/Users/username/AppData/Roaming/Adobe Flash Player/AssetCache/RAU4Y963, this the end of the two paths a folder name is random, Another copy SWZ file also need to pay attention to in the past, such as FlexSDK3.2 SWZ filename in the cache is 1 c04c61346a1fa3139a37d860ed92632aa13decf. SWZ, this files need to be from a flashplayer cache is a problem with the copy machine to machine.

In IOS development, there is an error: Apple mach-o linker error

Small make up in a small demo letter about ring, ring of import letter SDK (EaseMobSDK), the connection of the error, as shown in the figure below:

solution is in general, the following figure, respectively, in the absence of label arrow to add compiler needs. M files and the necessary framework:

and the small make up the problem here is not more than compile files and framework problem, the solution is,

in the third arrow to add: -obJC, and then you just recompile.

Notes on flex RSL application

FLEX publishing size is known to every FLEX developer as

because when FLEX is published it comes with a frame file that contains all the FLEX built-in classes…
the file size is about 500 K, so it’s an empty FLEX project. There are over 500 K

so FLEX provides the RSL(runtime Shared library).
lets the user download the same version of the frame file only once and store it in the cache directory specified by FlashPlayer.
the next time you browse the FLEX project that applies the RSL, you do not need to download again.. Thus speeding up the loading speed.

… Theories don’t express much… Something like this… Let’s actually do it…

to apply RSL, we perform the following steps :
1. Right-click in the project folder, and select “properties”-“Flex BuildPath”-“Library Path”
2. On the TAB, we see “FrameWork Linkage “. By default, “Merged into Cdoe “is selected. 3. Click “runtime Shared library(RSL)”, click “OK”

so that our project is already using the RSL~ to separate the frame files…
let’s open the bin(bin-debug) folder of our project.
will see that we have generated framework_3.0.0.477. SWF and framework_3.0.0.477. SWZ two files (0,0,447 is the version number). Has become around 50k (only two or three components)

when we publish the project..
just need to framework_3.0.0.477. SWF and framework_3.0.0.477. SWZ
and project SWF in the same directory to the server…

ps: here to talk about two noteworthy problems..

the first one is RSL error after the release of the project.. There are two main reasons :
1. Using FLASH PLAYER less than version 9.0.115,
2. Framework_3.0.0.477. SWF and framework_3.0.0.477. SWZ did not upload to the server.. So that the library cannot be downloaded…

say the second question before.. First introduce the framework_3.0.0.477. SWF and framework_3.0.0.477. SWZ,
where framework_3.0.0.477. When the load is successful.. It will be placed in the Flash Player cache directory.
while framework_3.0.0.477. SWZ download failed.. Flashplayer will automatically download framework_3.0.0.477.swf. The file can only be downloaded to ie cache..

very much from friends reflection.. While browsing locally.. Framework_3.0.0.477. SWZ can be loaded into the player’s cache directory.
but when placed on the server.. That will load unsuccessful.. Can only run by loading SWF..

occurs in this case.. Because server IIS does not support SWZ suffix file download..
(this has happened before before FLV was not prevalent),
if it is your own server. All we need to do is configure IIS. Add a MIME type…

detail operation will not say.. The MIME type is as follows..